-
- #include всего лишь делает текстовую подстановку, и static ему ортогонален. Так что до конца компилируемой единицы. - SciFi(15.01.2012 11:09)
- Смысл ключевого слова static в том, что символы в ассемблерном файле объявляются не public или global. Т.е. все объекты типа static видны в пределах одного объектного файла. За исключением переменных, которые будучи объявленными внутри блока fk0(836 знак., 15.01.2012 07:33)
- Если насчёт локальных переменных и границ блоков бывает, то насчёт статиков можно позволить ещё раз задуматься:) Vit(255 знак., 15.01.2012 19:51, ссылка)
- Не лечи. В АСМе по дефолту функции статик. В Си - парадигма обратная. По факту получаю видимость до конца компилируемой единицы - весь включенный текст это просто текст, и не важно какое расширение включаемых файлов. Наверно имел мозговой заглюк Vit(40 знак., 15.01.2012 10:54)
- В каком именно асме? Их разных. И вообще атрибут "символа" -- свойство скорей линкера, чем ассемблера. У hitech нужно насильно определять public (или global). И какая разница какая парадигма в C. Компилятор соответственно (если написано static) fk0(115 знак., 15.01.2012 15:18)
- А причем тут линкер? Линкеру все равно, либо Bill(313 знак., 16.01.2012 07:25)
- В любом асме. А не в твоих прафиси... - Vit(15.01.2012 18:48)
- Парадигму пытаются ломать - например, по правилам MISRA все только локально вызываемые функции должны быть static. - Vladimir Ljaschko(15.01.2012 11:02)
- Это и без MISRA правила хорошего тона. - Vit(15.01.2012 11:13)
- В каком именно асме? Их разных. И вообще атрибут "символа" -- свойство скорей линкера, чем ассемблера. У hitech нужно насильно определять public (или global). И какая разница какая парадигма в C. Компилятор соответственно (если написано static) fk0(115 знак., 15.01.2012 15:18)
- До конца блока. Если описана вне блоков, то до конца теста. - Ксения(15.01.2012 02:57)