- Vote on answer
- posted
20 years ago
gnu make
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
В статье snipped-for-privacy@f15.n.z2.ftn> Dimmy Timchenko написал(а):
Для чего?
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
AD> В проекте, который мне сейчас приходится сопровождать, некий нехороший AD> человек написал так (во всех местах :-( ): AD> === <db.h> === AD> /* ... */ AD> #ifdef _DB_C_ AD> #define GLOBAL AD> #else AD> #define GLOBAL extern AD> #endif М-мать!
Видать человек попытался сунуть int param в h-файл, получил от линкера "многократное определение" и "с честью вышел из ситуации" :-) Даже если считать, что компилятор не умеет нормально отрабатывать extern int param; int patram; (что-то я таких компиляторов не видел или уже давно и счастливо забыл), можно было всё-же переменную определить в c-файле а в h-файле написать
#ifndef _DB_C_ extern int param; extern uint32 get_db_first_bute(); #endif
AD> Найти место где определяется переменная и её тип бывает очень непросто. AD> Глубина вложенности хидеров тоже внушаИтЬ. Они мне скоро сниться будут. AD> В мейк-файле работа начинается с копирования одного из h-файлов в AD> другой - в зависимости от указанной цели. А целью является _бренд_ под AD> который идёт сборка. Поскольку этот файл потом включается всюду, всякий AD> раз идёт полная перекомпиляция. Спрашивается - а на фига такой мейк?! КrЮт0й хакер работал :-) Хадействовал возможности на всю катушку :-))
AD> Повбывав-бы... Угу. От "трудов" таких потом во все стороны идут мифы о ненужности make и глупости C.
wbr,
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago