만약에 전처리기를 사용하는데 있어서 변수 값이 1이면,
define 하고, 0이면 undefine 하는 것을 할려고 합니다.
어떻게 하면 되죠..
몇가지 해봤는데.. 안되네요..
int var = 1; if(var == 1) { #define _START_VAR } else { #undef _STAR_VAR }
문법적으로 되는지도 잘 모르겠습니다. 대충 제가 무엇을 원하는지 아시겠죠..
변수값이라 하시면 프로그램 코드상에서 돌아가는 전역변수나 자동변수 등을 얘기하시는건지..? 그렇다면 절대 그런 식으로 적용될 수 없습니다. 차라리 #if HOHO==1 code... #else ... #endif
나
#ifdef HOHO
#else
#endif
같은 매크로를 이용하실 수는 있겠지요.
http://home.postech.ac.kr/~sodomau
일단 매크로와 실제 c code간의 개념의 혼동이 일시적으로 오신듯 하군여.
c code의 compile이 일어나기전에 이미 프리프로세서가 처리후 결과로 나온 code만 실제 compile이 일어납니다. 따라서 실제 프로그램 실행중간의 변수 결과를 알수있는 방법이 매크로는 없겠져? :)
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
변수값이라 하시면프로그램 코드상에서 돌아가는 전역변수나 자동변수 등을
변수값이라 하시면
프로그램 코드상에서 돌아가는 전역변수나 자동변수 등을 얘기하시는건지..?
그렇다면 절대 그런 식으로 적용될 수 없습니다.
차라리
#if HOHO==1
code...
#else
...
#endif
나
#ifdef HOHO
#else
#endif
같은 매크로를 이용하실 수는 있겠지요.
http://home.postech.ac.kr/~sodomau
지나가다가
일단 매크로와 실제 c code간의 개념의 혼동이 일시적으로 오신듯 하군여.
c code의 compile이 일어나기전에 이미 프리프로세서가 처리후 결과로 나온
code만 실제 compile이 일어납니다.
따라서 실제 프로그램 실행중간의 변수 결과를 알수있는 방법이 매크로는 없겠져? :)
댓글 달기