어떤 경우에는 int을 반환하고 상태를 확인하고 진단을 제공하고 오류가 발생하면 예외를 throw하는 매크로에 다른 포인터를 반환하는 C API 함수를 래핑하려고합니다. int을 반환하는 함수의 경우는 내가 필요로하지 않는 단순 int 그 : #define CALL_INT(name, ...) do { \
if(!name(__VA_ARGS__))
를 형성하기 위해 정의합니다. VERSION_MINOR와 REVISION 사이의 공간을 없애고 싶습니다. 나는 이것을 시도했다 : #define VERSION VERSION_MAJOR.VERSION_MINOR##REVISION
그러나 그것은 "1.VERSION_MINORREVISION"를 산출한다. 물론,이 작동하지 않습니다 중 하나 #define VE
최신 XCode 업데이트 8.1 (Build 8B62) 이후로 전 처리기 매크로와 관련하여 구문 강조/코드 완성에 이상한 문제가 있습니다. 업데이트 전에 사용한 적이있는 XCode 8 GM 시드로 제대로 작동했지만 구성표를 선택할 때 XCode가 올바른 대상을 인식하지 못합니다. 예를 들어 iOS 용이고 다른 하나는 Apple Watch 용인 2 개의 대상
다른 곳에서 변경된 덕분에 "Foo"대신 (("Foo")와 같이 표시되는 일부 C 전 처리기 매크로로 작업하고 있습니다. 문제는 코드의 다른 곳에서 연결을 깨는 것입니다. E.G. #include "some_external_FOO_and_FILE_PATH_declarations.h"
//FOO is (("Foo"))
const char* filepath
동일한 코드의 두 버전을 테스트하고 있습니다 (Linux에서는 GCC 버전 4.9.2, 매개 변수 없음). 두 가지 모두 #define 지시어가 있고 그 다음에 #ifdef/#endif 쌍이 있습니다. 이제는 초기 #define 다음의 레이블이 밑줄로 시작하는 경우에만 조합이 제대로 작동하는 것으로 나타났습니다. 밑줄이 없으면, 그것은 매우 이상한 방법으로
은 내가 STL의 사용자 지정 구현 uSTL라고 사용하는 임베디드 플랫폼에이 코드를 컴파일 할 필요가 #include<vector>
std::vector<double> foo;
의 라인을 따라 C 코드를 ++ 있습니다. 이 파일을 사용하려면 ustl.h 헤더 파일을 #include, all STL classes are defined in anothe
iOS 프로젝트에 "WatchKit Extention"이 있습니다. 또한 SSKeychain.h을 가져올 수 없습니다. 그래서 나는 매크로 프로세서를 사용하기로 결정했다. #if TARGET_OS_WATCH == 0
#import "SSKeychain.h"
#endif
그러나 나는 preprocessor isue (스크린 샷)를 가지고있다. "Wat
, 나는 내가 /* Initialization of JPEG compression objects.
* jpeg_create_compress() and jpeg_create_decompress() are the exported
* names that applications should call. These expand to calls on
* jpeg_