我想一個全局變量在C握着我的錯誤信息全局變量,C
一個庫名爲utils的有:
#ifndef private_error_h
#define private_error_h
extern char error[1024];
__declspec(dllexport) void FillError(char* newError);
#define GetErr() error
#endif
文件error.c:
#include "private_error.h"
char error[1024];
void FillError(char* newError) {
// ...
}
然後我嘗試在程序中使用它:
#include "private_error.h"
int main() {
FillError("General error");
printf("%s\n", GetErr());
return 0;
}
它使用不同的地址創建兩個變量。我如何讓程序使用Utils庫中的變量?
我確實設法通過將GetErr更改爲返回字符串的函數來繞過此問題,但我仍然想知道錯誤在哪裏。
第二,沒有外部,是一個定義。 – 2010-01-10 21:36:31
試過了,庫無法識別數組。 錯誤LNK2001:無法解析的外部符號_HError – Hagai 2010-01-10 21:55:16
您的DLL文件可能存在特殊問題,因爲您在提問中提示的是您的目標。 – 2010-01-10 21:56:55