프로그램 사용/gcc2026. 3. 12. 14:00

쉘에서 괄호를 벗겨 버리는군 -_-

소스는 아래

$ cat t.c
//#include <stdio.h>
void main()
{
printf("%c\r\n", 'a');
printf("%c\r\n", STR);
}

 

명령어 별 변환

실패

$ gcc -E -DSTR=b t.c
$ gcc -E -DSTR='b' t.c
$ gcc -E -DSTR="b" t.c
# 0 "t.c"
# 0 "<built-in>"
# 0 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 0 "<command-line>" 2
# 1 "t.c"

void main()
{
 printf("%c\r\n", 'a');
 printf("%c\r\n", b);
}

 

성공

$ gcc -E "-DSTR='b'" t.c
$ gcc -E -DSTR=\'b\' t.c
# 0 "t.c"
# 0 "<built-in>"
# 0 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 0 "<command-line>" 2
# 1 "t.c"

void main()
{
 printf("%c\r\n", 'a');
 printf("%c\r\n", 'b');
}

 

 

그나저나 stm32cubeide 에서 추가하니

 

컴파일시에 아래처럼 표시된다. 어우.. 이거 윈도우에서 문제 안생기려나?

 '-DSTR='"'"'A'"'"''

 

'프로그램 사용 > gcc' 카테고리의 다른 글

링커 스크립트를 이용한 변수 값 할당  (0) 2026.03.13
gcc __cplusplus 선언  (0) 2026.02.18
gcc __attribute__((weak)) 테스트  (0) 2026.01.29
gcc cortex-a9 double형 neon 연산 가속  (3) 2023.08.08
gcc tree vectorize  (0) 2023.01.26
Posted by 구차니