Расширение GCC __attribute__ ((не используется)) для атрибутов переменных - PullRequest
0 голосов
/ 15 ноября 2018

ниже приведен пример кода для расширения атрибута переменной GCC,

#include<stdio.h>
int main(void){
        int sam __attribute__((unused))= 10;
        int p = sam+1;
        printf("\n%d" , p);
}

для кода сборки вышеуказанной программы, сгенерированного с использованием:

gcc -S sample.c

.s файл не содержитпеременная sam в нем, в то время как вывод программы равен «11», что правильно.Так что компилятор полностью игнорирует неиспользуемую переменную и не выводит ее в исполняемый файл?Если да, то почему вывод программы корректен? Может кто-нибудь объяснить работу неиспользуемых и используемых атрибутов переменных в gcc.

Спасибо

...