면책 조항 : 프로그래머가 아닙니다.전 처리기를 사용하여 코드를 문자열로 변환하십시오.
최근에 친구의 프로젝트를 보았습니다. 이해할 수없는 이유 때문에 런타임에 컴파일되는 문자열에 코드를 씁니다. 이 같은 결과 : 비주얼 스튜디오에서 단계 및 일부 전처리 남용을 사용하는 등
구문 강조를하지 않기 때문에 사용이 끔찍
char x[] = "int y = 5; printf(\"%i\", y)";
run_this_code(x);
,으로 트릭 비주얼 스튜디오를 할 수 있습니다 실제 코드를 작성한 다음 컴파일러가 소스를 확보하기 전에 전처리기를 문자열로 바꾸는 것을 생각합니다. 이 작품 : 다음
int x = 5; printf("%i\n", x);
문제를 런타임 컴파일러가 라인 1에 오류가 줄 바꿈을 포함 만드는 방법이 있나요 말한다이다
이#define STRINGIFY(x) #x
int main(void){
char[] y = STRINGIFY(
int x = 5;
printf("%i", x);
);
printf("%s", y);
}
이의 문제가 밖으로 인쇄한다?
업데이트 이것은 내 문제가 아닙니다. 그것은 다른 누군가의 코드입니다, 저는 방금 프리 프로세서를 사용하여 자신의 삶을 편하게한다는 아이디어에 관심을 갖게되었습니다. 나는 그가 왜 이렇게하고 있는지 전혀 모른다.
업데이트은이 질문이 전처리 기가 아닌 CUDA에 관한 것이므로 CUDA에 대한 모든 언급을 삭제했습니다.
이 방법이 효과가 있습니까? char x [] = "int x = 5; \ n printf (\"% i \ ", x)"; – fazo
내가하고자하는 목표는 VS를 구문 강조, "인텔리 센싱"등과 같이 문자열에 쓰여진 코드로 속이는 것입니다. –
무엇을하려고합니까? GPU에서 표준 출력으로 인쇄하려고하는 경우 올바른 방향에 있다고 생각하지 않습니다. – Marm0t