用eclipseCDT搭建C语言开发环境

用eclipseCDT搭建C语言开发环境,第1张

用eclipseCDT搭建C语言开发环境,第2张

我自己定义了一个结构,写了一个dll返回这个结构的数据,结果一直出错。后来我打开了VS2005的所有异常,报告了数据错位的错误。它没有帮我检查它。只是猜测内存对齐的问题。
但是我的结构定义是3个指针,也就是3个机器字。所以没问题。考试大,没有对齐的记忆。
后来我写了一个程序实验,看了一下每个语句修改的内存数据区,发现在win32的COM中,BSTR用SysStringByteLen和sysstringbyte len计算字符串长度,我也用这个来malloc数据,所以计算的字节数可能有问题。数据被覆盖,结果修改后不报告错误。
考试总结:
win32提供_tcslen来计算一个字符串的长度。其实不管用不用unicode,都是返回字符串的字符长度,也就是对于unicode,L "Hello L"ab "返回4,也就是4个字符。
SysStringByteLen返回一个字符串的字节数,参数为BSTR,(BSTR的前2个字节存储字符串的长度)。L "Hello L"ab "返回字符串中字符所占的字节数,即8字节。
SysStringLen返回与_tcslen相同的值。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 用eclipseCDT搭建C语言开发环境

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情