Статический символ слабый или сильный

0

Является ли статический неинициализированный символ слабым символом или сильным символом?

Можно ли переопределить неинициализированный статический символ сильным символом?

Модуль 1:

static int y;

Модуль 2:

double y = 10;
  • 0
    У gcc хорошие префиксы для обработки слабых символов.
  • 0
    C ++ не имеет «модулей» - если что-то не изменилось за последнее десятилетие или около того, также как и C. Не имеете в виду единицы перевода - то есть, как правило, один файл .c или .cc / .cpp / .c ++ и файл непосредственно или косвенно #includes ?
Показать ещё 1 комментарий
Теги:
linker
symbol

1 ответ

3

Нет. Статический символ является локальным для определяющего модуля - не глобальным и не может быть переопределен каким-либо другим модулем.

  • 0
    «static» в модуле 1 скрывает локальное «y» от других модулей. так я не получу ошибку связывания? Пожалуйста, дайте мне знать, так как я не могу найти его в Интернете?
  • 0
    Это верно. Я не понимаю, почему вы не можете найти его в Интернете - есть множество ссылок, которые говорят вам, что делает static .
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню