Предлагается поделиться самыми тупыми ошибками, которые мы сделали в программировании. Я начну, а вы подхватывайте.
Вчера решил набросать простенькую программку для тестирования одной идейки, десять строчек. Создал файл proba.c Открыл в Емаксе редактировать, думаю, не, давай назову project.c. Сохранил буфер как project.c, написал прогу, компилирую.
$gcc proba.c -o proba
/usr/lib/gcc-lib/i486-slackware-linux/3.3.4/../../../crt1.o(.text+0×18): In function `_start’:
: undefined reference to `main'
collect2: ld returned 1 exit status
Во, думаю, фак-распрофак, эк как же так?! void main() у меня — вот перед глазами! Поменял на
int main() — то же самое. Полазил по Гуглу — там вообще дохера чего написано, а все мимо…
Дошло до меня примерно так через минут 15… Плохо компилируются файлы длины 0 байт.
Good Luck,
UT
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
хм не всем понятно, но есть такая штука Simatic S7-200 контроллер от Siemens. Вот код
//NETWORK 01 First run initialize
LDN ENABLE
A SM0.1
CALL INIT
*SM0.1 флаг первого прогона программы
Переводя на нормальный язык
if (!ENABLE && FIRST_RUN)
INIT;
Долго думал почему не выполняется инициализация? Даже пытался поверить что нельзя из первого выполнения вызывать подпрограмму даа тяжело выполнять программу в состоянии DISABLE :D
регулярно забываю делать fflush(stdout) когда пишу из множества потоков, и долго удивляюсь почему прога виснет.
Пишу на C:
В конце концов стал прописывать export CFLAGS=-Wall прямо в .bashrc…
А у меня было так:
Я где-то полдня пытался найти баг :))))))))
Как-то раз вместо main() написал по ошибке что-то типа some_funct()… ;)
одна из самых глупых ошибок при написании на сях (особливо после паскаля), стандартная:
вместо сравнения. так вот, долго я как-то иска глюк 'Segmentation fault' в операторе *next=myAlloc(res.size);….
Делал лабу. Надо было «вырастить» бинарное дерево, а потом с ним что-то делать (неважно что). Я написал процедуру добавления ноды в дерево, которая принимает в качестве параметров нек-рое значение, которое хранится в дереве должно и путь в виде lr — строки. Подумал, что полезно было бы, в случае слишком длинной строки добавлять к последнему возможному листу, который ессно оказывался null. 4 часа убил, пока ошибку нашел.
Прошу прощения за некоторую сумбурность, вчера был немного нетрезв:) Да еще название темы прочитал, как «Порнуха на старуху». Долго потом думал, при чем же здесь порнуха?