作者:
renmax (竹科å¸å‹å“¥)
2020-05-07 19:04:49開發平台(Platform): (Ex: Win10, Linux, ...)
Linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
Netbeans
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
A.c 有include "A.h" 和 "B.h"
B.c 有include "B.h"
分別build出兩個lib是A.so和B.so
B.h 有個struct 如下:
typedef struct
{
ULONG ulType;
BYTE baIP[20];
USHORT usPort;
BYTE baID[100];
BYTE baPWD[100];
BYTE baLocalPath[128];
BYTE baFtpPath[128];
BYTE baPrivateKeyPath[300];
BYTE baPublicKeyPath[300];
long lTimeout;
}ftpInfo;
我在B.c 增加上面紅字的部分後,重新build出B.so後
就直接丟進去和A.so一起跑 (A.so沒重build)
debug發現原本應該在baPrivateKeyPath印出的值
卻跑到baPublicKeyPath,而且只有尾數幾個字元
我在A.c有sprintf(stInfo.baPrivateKeyPath, "/test/test1/test.key");
照理說有指定塞值到baPrivateKeyPath
會因為改變了struct的內容後 導致值跑掉嗎?
麻煩了 謝謝