void run_hot(void) {
// I am called very often!
serve();
// <more code here>
}
void run_cold(void) {
// I am called only occasionally!
serve();
// <more code here>
}
이것은 내가 리눅스에서 컴파일하고있어 일부 코드입니다. gcc -std=gnu99 test.c입니다. gcc -std=c99 test.c 다음과 같은 오류와 함께 실패 : 리눅스에서 struct ifreq의 정의를 좋아하지 않는 것을 C99에 대해 다른 무엇 test.c: In function ‘main’:
test.c:4:16: error: storag
나는 C로 작성된 프로그램을 가지고 있으며 Autoconf를 사용합니다. AC_PROG_CC_C99 (configure.ac)을 gcc와 함께 사용하면 -std=gnu99 컴파일러 옵션으로 변환됩니다. 이 프로그램은 다소 엄격하게 C99 표준에 따라 작성되었으며 GNU 확장을 사용하지 않습니다. 컴파일러가이를 적용하기 위해 Autoconf를 어떻게 설정해야
C99에서 코드를 작성하고 GCC를 통해 컴파일합니다. 나는 스타일 오버의 이유로 함수 오버로딩을 사용하고 싶다 (그렇지 않으면 나는 혼자서 이름 맹 글링을해야 할 것이다). 그러나 나는 Is there a reason that C99 doesn't support function overloading?을 읽었지만 GCC에서 활성화 할 수 있는지 궁금해합니다
난 그냥이 코드 예제를 실행 : int *i = (int*) malloc(sizeof(int));
printf("%p, %p\n", &i , i);
을 그리고 이것은 내가 가진 것입니다 : 0x7fff38fed6a8, 0x10f7010
그래서 내가 왜 첫 번째보다 두 번째 주소 짧은 궁금해?
VS 2010을 사용하고 있습니다. C++ 대신 컴파일러 C 코드의 설정을 변경했습니다. 그것은 잘 작동하지만 문제는 MS 컴파일러는 C99 표준을 지원하지 않기 때문에 이런 이유로 VS 10에서 작동 할 수있는 C 컴파일러를 찾고 있습니다. 어떻게해야합니까? 미리 감사드립니다.
나는 멍청하다. 그래서 이것을 짧게 만들 것이다. 다음은 합법적입니까 (C99)? 한 번에 하나의 배열 이상을 저장하고 싶지 않습니다. 나는 필요한 최대 길이의 배열을 만들 수 있고 그 중 일부만 사용하지만, 나는 이것을 오히려하고 싶다. int main(){
double drm[15000];
//do some stuff
doub
OpenCL 언어로 작성된 다른 동적 프로그램 용 코드를 어셈블하는 프로그램을 작성하고 있습니다. 이 질문의 목적을 위해 동적 프로그램 언어가 모든 코드를 단일 컴파일 블록으로 가져와야한다는 제한 조건하에 C99라고 가정 해 봅니다. 내 큰 프로그램은 main 함수에서 발생할 일련의 단계와 해당 단계를 구현하는 데 필요한 C99 소스 파일을 결정합니다. 그