내 c-compiler가 (단순화 된) 코드를 따르는 경고/오류를 표시하는 이유를 알아 내려고합니다.C - gcc : 다른 함수 선언/구현을 사용하는 컴파일러 경고가 없습니다.
some.h :
void foo();
some.c :
static uint32_t count = 0;
void foo(uint32_t num) {
count += num;
print("Count: %u");
}
기능 - 실행 파라미터를 동시에
함수 선언는 매개 변수가 없다
mai n.c :
foo(100);
foo();
출력 : 대상 빌드
Count: 100
Count: 100
컴파일러 : 대상 빌드
gcc-arm-none-eabi-4_9-2015q1-20150306-win32
링커 :
,691,363,210gcc-arm-none-eabi-4_9-2015q1-20150306-win32
컴파일러 플래그 : C에서
-Wall -Werror -DuECC_CURVE=uECC_secp256r1 -DMEMORY_CHECK -DDEBUG -Os -g3 -DBACKTRACE
귀하의 편집문은 무엇입니까? 포함합니까? –
'print'는'printf'라고 가정합니다.BTW [UB] (https://en.wikipedia.org/wiki/Undefined_behavior)는 [UB] (https://en.wikipedia.org/wiki/Undefined_behavior) – LPs
디버깅 도움을 구하는 질문 ("왜 이것이 아닌가요? 코드 작동? ")에는 원하는 동작, 특정 문제 또는 오류 및 질문 자체에서이를 재현하는 데 필요한 가장 짧은 코드가 포함되어야합니다. 분명한 문제 성명이없는 질문은 다른 독자에게 유용하지 않습니다. See : 최소한의 완전하고 검증 가능한 예제를 만드는 방법. – Olaf