写DLL时出现蛋疼语法异常。
写DLL时出现蛋疼语法错误。。。你上面的代码都是在全局的?你怎么能在全局区域内写赋值语句...base-str NUL
写DLL时出现蛋疼语法错误。。。
你上面的代码都是在全局的?
你怎么能在全局区域内写赋值语句...
base->str = NULL ;
base->next = NULL ;
语句只能写在某个函数里面.
[解决办法]恩
base->str, base->next 的位置已经是从堆中申请的了. 不在文件的某个段里面了. base 才会在你的 share 段里面.
"书上说的是要初始化变量,否则编译器会把变量放在未初始化区中。"
默认情况下是这样的, 但是你强制指定了放在 share 段后应该就覆盖了编译器的默认行为了.
[解决办法]也是全局的呀, 使用上和普通的段没有什么区别.
只是如果同时有多个进程使用这个 dll, 其中一个改变了变量的值, 其余进程里面的也会改变.
------解决方案--------------------
用DllMain初始化应该是正解。
好久没写过普通的Dll了,几乎都忘了它了。