我正在尋找一個龐大的舊的C程序並將其轉換爲C++(我是新來的)。函數聲明和一個無法解析的外部程序
有很多複雜的預處理器黑客正在連接到這樣一個事實,即該程序必須在許多不同的平臺上以多種不同的配置運行。
在一個文件中(稱爲file1.c
)我是致電functionA()
。
而在另一個文件中(稱爲file2.c
)我有一個定義functionA()
。
不幸的是,函數的確切類型是由一系列以令人眼花繚亂的方式創建的宏指定的。
現在接頭抱怨並:
泛函是一個未解決的外部符號。
我懷疑問題在於file1.c中的原型與file2.c中的函數的真正定義略有不同。
由於_cdecl
和fastcall
之間以及有和沒有__forceinline
之間的不匹配,存在很大的細微差異範圍。
是否有某種方式來顯示究竟什麼編譯器認爲是所看到file1.c
,而不是file2.c
的functionA()
類型?
+1。謝謝......這雖然有所幫助,但現在已經揭示了我在一個新問題中提出的更深奧的奧祕。 – Mick 2009-10-01 09:59:23