geotri 发表于 2013-4-30 20:48:43

SDK开发的几条经验

本帖最后由 geotri 于 2013-4-30 21:43 编辑

Addin的SDK的编译工具相当弱智,根本无法与现代软件开发工具相比,所以经常编译时得不到错误的原因和定位,出错如果没经验,将是个非常令人沮丧的事,以下几条是用了上百次的失败总结出来的:
1,在VS等编译器下建Addin项目,还要将加入的文件在9860 SDK环境下加入到项目中才能顺利编译。(摸索半天的代价,当时没想到,我是用VS调用Addin SDK编译器进行编译的)
2,中文注释有可能引起SDK编译错误,且很难查找,建议不要用中文注释,编译器太弱智,折腾了一天才发现问题所在!
3,所有函数教要先在头文件中声明,否则编译会出错而无提示。
但原对初学SDK开发者有所帮助,反正我是用了几天的时间代价总结出来的。诸位如果有什么经验教训不防也共享出来,让后来者少走一点弯路。

diameter 发表于 2013-4-30 21:02:32

回复:
1.Addin的编译器是根据.g1w来确定要编译哪些文件的,不加入当然不行
2.如果想使用中文注释可以在中文字符串的前与后都加上空格,例如/* 中文注释 */是可以通过编译的
3.必须声明,这是标准c要求的。add-in的编译器应该只支持到c99。不声明的其实是恶习。多读读大工程的头文件就明白了

geotri 发表于 2013-4-30 21:44:48

直径说得对,可能是我们用现代的工具有诸多便利,便忽略了一些本应遵守的严格规定。

geotri 发表于 2013-4-30 21:46:23

我的中文注释用的是"//",这个可能出问题。

hhacker 发表于 2013-4-30 22:22:09

有一些是“这不是bug 是软件特性”的问题

imath 发表于 2013-5-1 11:20:25

编译的时候都是去注释了的

wtof1996 发表于 2013-5-1 12:40:11

diameter 发表于 2013-4-30 21:02 static/image/common/back.gif
回复:
1.Addin的编译器是根据.g1w来确定要编译哪些文件的,不加入当然不行
2.如果想使用中文注释可以在中 ...

标准我记得是C89,而不是C99

diameter 发表于 2013-5-1 13:35:27

wtof1996 发表于 2013-5-1 12:40 static/image/common/back.gif
标准我记得是C89,而不是C99

好吧是我记错了~
add-in的编译器支持一些C99的特性比如//注释
但是不支持c99的long long

jeff99 发表于 2019-3-25 23:52:06

都是大神,学习了
页: [1]
查看完整版本: SDK开发的几条经验