-
- Вообще-то, сам линкер ничего не создает. Создает компилятор. Или нет? - Bill(11.06.2014 10:18)
- Конечно! - Vladimir Ljaschko(11.06.2014 11:00)
- Смысл быть может. Например .h файл может быть шаблоном параметризируемым из включающего его .c файла. - fk0(09.06.2014 13:33)
- Но нужно додуматься включать такой .h файл в несколько .c файлов - Vladimir Ljaschko(11.06.2014 13:24)
- Это как? - Codavr(11.06.2014 13:17)
- Пример 1: fk0(1404 знак., 11.06.2014 13:46 - 13:48)
- Как же некрасиво смотрятся С-строки без семиколона! Неужели ничего нельзя придумать? - Олдфаг(12.06.2014 00:21,
)
- Хе, там много чего некрасивого, и точка с запятой не на первом месте, ИМХО :-) - SciFi(12.06.2014 01:22)
- А кто-то тут грозился каленым железом жечь тех, кто #includ'ит blabla.C :)) - MBedder(11.06.2014 17:00)
- :)) (извините, что встреваю) - Ajdar74(12.06.2014 09:12)
- Ясненько. Спасибо. - Codavr(11.06.2014 13:49)
- Как же некрасиво смотрятся С-строки без семиколона! Неужели ничего нельзя придумать? - Олдфаг(12.06.2014 00:21,
- Пример 1: fk0(1404 знак., 11.06.2014 13:46 - 13:48)
- Создает. А нужно бывает, например, чтобы синхронно изменить размер каких-нибудь счетчиков принятых/отправленных байт. И вроде невидны чужим, и сразу меняет в нескольких файлах, причем без привнесения субъективной ошибки "здесь изменил здесь забыл". - Petrovich(09.06.2014 13:06,
)
- Для синхронной замены типов достаточно воспользоваться typedef да define - по крайней мере будет прозрачно. - Vladimir Ljaschko(09.06.2014 14:58)
- Не пиши чуши. Статические переменные на уровне ассемблера и линкера не являются глобальными и в каждом модуле будут свои: fk0(737 знак., 09.06.2014 14:29)
- Не порите чуши если не поняли о чем речь. - Petrovich(09.06.2014 14:33,
)
- Тогда научись выражать мысли доходчиво. - fk0(09.06.2014 14:43)
- Главное - вопрошающий понял мыслю. А тем, кто не понимает выражений "изменить размер счетчика" - ну как объяснить?) - Petrovich(11.06.2014 10:39,
)
- Размер -- это длина, ширина и высота? - fk0(11.06.2014 10:53)
- Да. Ведь найти "Площадь Ильича" - это длину Ильича умножить на его ширину)) - Petrovich(11.06.2014 10:57,
)
- Да. Ведь найти "Площадь Ильича" - это длину Ильича умножить на его ширину)) - Petrovich(11.06.2014 10:57,
- Размер -- это длина, ширина и высота? - fk0(11.06.2014 10:53)
- Главное - вопрошающий понял мыслю. А тем, кто не понимает выражений "изменить размер счетчика" - ну как объяснить?) - Petrovich(11.06.2014 10:39,
- Тогда научись выражать мысли доходчиво. - fk0(09.06.2014 14:43)
- Не порите чуши если не поняли о чем речь. - Petrovich(09.06.2014 14:33,
- например, есть модуль с очередью сообщений. Ось кооперативная. Чтобы в каждом модуле не создавать статический объект вручную это делается "автоматически" и в очередь помещается указатель на статический объект. Сам так не делаю(может по привычке), abivan(28 знак., 09.06.2014 13:00)
- Говнокод. Аффтара кода - фтопку. - SciFi(09.06.2014 11:53)
- говнокод, да - =AlexD=(09.06.2014 11:55)
- Если в одном из файлов оно не используется, то и память не выделяется. Смысл static в том, что-бы линкер не матерился на повторное объявление. Смысл размещать в хедере - вынос всех объявлений из Си файла в хедер. Всё это работает только если =AlexD=(45 знак., 09.06.2014 11:48)
- Точно, невнимательно смотрел, в одном их файлов это локальный указатель, совпали имена (специально сделаны одинаковыми). Пц. - Vladimir Ljaschko(09.06.2014 12:06)
- А ни фига, нашел, нашел в MAP! Vladimir Ljaschko(218 знак., 09.06.2014 12:14)
- Точно, невнимательно смотрел, в одном их файлов это локальный указатель, совпали имена (специально сделаны одинаковыми). Пц. - Vladimir Ljaschko(09.06.2014 12:06)
- Смысл может быть в глобальных переменных, но в масштабах модуля. Хороший компилер выкидывает не использованные static переменные и функции, с варнингом (отключаемым) - AlexBi(09.06.2014 11:46)
- Вообще-то, сам линкер ничего не создает. Создает компилятор. Или нет? - Bill(11.06.2014 10:18)