-2
크로스 모듈 종속성을 사용하는 응용 프로그램을 컴파일하는 방법이 있습니까? 나는 표준 기능을 & 다른 모듈 기능GCC 모듈 종속성
gcc module.c -c
gcc module2.c -c
gcc module.o module2.o -o app
를 사용하여 모듈을 컴파일 할 때 내가 얻을
implicit declaration of function printf
나는 그것이 각 파일의 모든 헤더를 포함하고 #DEFINE &를 사용하여 처리 할 수있어 같은 오류 #ifndef하지만 아주 추합니다. (module2.h 생략 module.h에 &)
#include "macro.h"
#include "module.h"
#include "module2.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {}
APP.C
macro.h
#define macro(var1, var2) var1 ? printf(var2) : moduleFunc(var2)
#define macro2(var) some math func
모듈 :이 같은 응용 프로그램 파일에있는 모든 파일을 포함하고 싶습니다 이 .c
void moduleFunc(char* var) {macro2(); module2Func();}
module2.c
void module2Func(...) {macro(); printf(...); some math func}
컴파일러가 작업을 수행하는 데 필요한 것들을 추한 이유는 무엇입니까? 그것은 직원이있는 것과 같으며 직원에게이 도구에 대해 알지 못하지만 그것이 무엇인지를 잘 추측합니다! –
각 파일에 갖는은 #endif 다음 #ifndef STDIO_H #DEFINE STDIO_H 사용법 #include 같은 일부 라인은 추한입니다. –
Lukasik
그리고 그게 못생긴가요? 파일에 몇 줄의 문자가 있습니까? 이것은 추악한 것으로 간주 될 수 있지만 - 그의 여자 친구는 그렇지 않다고 생각합니다. http://www.google.co.uk/imgres?imgurl=http://www.thearchnemesis.com/images/angler%2520fish.jpg&imgrefurl=http://www.thearchnemesis.com/Ugly%2520Fish.html&h= 266 w = 400 SZ = 55 tbnid = B3YhsMI2JPfBBM & TBNH = 90 tbnw = 135 크게 = 1 USG = __ wELGU655O -1- _EgIFikAC5fTmIM = DOCID = zE9IqtSDyVCYNM 및 SA = X 및 EI = yZBAUeCkGsO50QWe7oCwAg 및 VED = 0CDgQ9QEwAA & = 217 –