처음에는 Boost.Regex에 의존하는 휴대용 C++ 라이브러리 코드를 작성하려고합니다. 그리고 컴파일러가 지원하고 결국에는 C++로 TR1로 이동합니다. std :: tr1 네임 스페이스에서 std로 이동 한 후 0x 사양. 여기에 내가 전처리와는하고 싶은 것을 위해 일부 의사 코드 : if(exists(regex)) // check if I can #
전 처리기 변수의 값을 stderr에 인쇄 할 수 있습니까? C? #define PP_VAR (10)
#if (PP_VAR > 10)
#warning PP_VAR is greater than 10
#endif
하지만 내가하고 싶은 것은 : 예를 들어, 내가 지금있는 것은 #define PP_VAR (10)
#if (PP_VAR > 10)
문제에 대한 해결책을 생각해 냈습니다. 그러나 항상 컴파일러에서 작동하는지 확실하지 않습니다. 첫째, 문제 : 여러 상황에서 동일한 유형이 주어 졌을 때도 다시 사용될 때마다 인스턴스화되는 템플릿 클래스를 사용하는 것이 바람직하다는 것을 알았습니다 (템플릿 클래스에는 함수 호출로 초기화되는 정적 멤버가 있음). 중요한 부작용이 있습니다. 템플릿을 사용할 때
여러 플랫폼과 컴파일러에서 작동하는 작은 코드를 작성하려고합니다. 나는 어설 션을 사용합니다. 대부분은 해제 할 수 있지만 PGI의 pgicpp을 사용하여 OpenMP 지원을 위해 -mp을 사용하여 컴파일하면 --no_exceptions 옵션이 자동으로 사용됩니다. "throw"문을 사용하는 모든 곳에서 치명적인 컴파일러 오류가 발생합니다. ("예외 처리
나는 C++ 소스 파일과 파이썬 소스 파일을 가지고있다. C++ 소스 파일을 파이썬 소스 파일의 내용을 큰 문자열 리터럴로 사용할 수 있기를 바랍니다. 나는 이런 식으로 할 수있다 : char* python_code = "
#include "script.py"
"
그러나 각 줄의 끝에 있어야하기 때문에 작동하지 않습니다. 필자는 수동으로 파이썬 코드
나는 생성 된 함수가 꽤 많은 상황을 가지고 있으며, 내가 만든 일반 함수를 가리키고 싶다. 생성 된 함수 이름이 변경됨). 이 생성되면 void Callback_SignalName1(void);
void Callback_SignalName2(void);
...etc
, 내가 그들이 일반적으로 호출 할 수 있도록 매크로를 정의하고자 다음과 같이 기본
C++ 라이브러리에서 제공하는 기능을 사용하는 Objective-C/C++ 응용 프로그램이 있습니다. class TheClass
{
public:
[...]
enum TheEnum
{
YES,
NO,
};
[...]
};
포함하여 (즉 matters- -if 사용 # import에) 오브젝티브 C/C의 상기 클래스 선
내가 매크로, FOO (이름)이 말, 그리고 하나 개의 매개 변수 (파라미터 어떤 유형의 질문이다) 소요 일부 템플릿 클래스 바 <>. FOO를 다른 이름으로 호출 할 때마다 Bar의 다른 인스턴스를 가져오고 싶습니다. 바 <은> 템플릿은 실제로 항상 난 그냥 다른 이름 바 <>과 같은 이름을 사용하는 (심지어 다른 번역 단위)가 다른 인스턴스를 생성해야
이전에 기본 해석기를 만들었습니다. 에 구문 분석 등의 많은 부하가 걸린 전 처리기가 있습니다. C#에서 사용하기 위해이 전 처리기를 이식하고 싶습니다. 아직 C#을 처음 접했을 때 문제가 있습니다. 내 오랜 전처리 내가 변수의 이름을 얻을 수 있도록 \ 0 존재의 NULL로
var\0$mine\0=this\0;\0var\0$something\0+$a\
커맨드 라인을 통해 구축 할 수있는 커다란 응용 프로그램이 있습니다. 나는 그것을 실제 모드 나 시뮬레이트 모드 중 하나로 컴파일 할 수있게 해주는 플래그를 지정하고 싶다. 그래서 문제는 프로그래밍 방식으로 참조를 추가하기 위해 전 처리기를 사용할 수 있다는 것입니다. 예를 들어 는 : #if SIMULATED
include SimulatedFil