C高级使用技巧整理
这里收集一些C语言使用中的高级技巧,这些技巧都是一些基本语法的巧妙使用,但是首次看到这样的用法会感觉眼花缭乱。
一、main函数的封装
在一些库中,为了集成度更高,往往会把main函数封装到库中,而提供给用户使用的是另一个自定义函数,这时候就会用到main函数的封装了,这里使用的是宏定义的技巧:
#define MyMain \
MyAppMain(int argc, const char *argv[]); \
int main(int argc, const char *argv[]) \
{ \
//do something for init; \
MyAppMain(argc, argv[]); \
//do something for end; \
} \
int MyAppMain
真正的应用程序只要用
int MyMain(int argc, const char *arg[])
做为程序的主入口,不需要main函数了。
相关文档:
C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如:
3+5,6+8
称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为:
表达式1,表达式2
逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的 ......
你说是写个动态库不就行了,还说写脚本,脚本跟动态库差别大去了
gcc编译的时候就能生成动态连接库
windows下面没有so的概念,windows叫dll
搜下Linux gcc 动态库
编写好c语言程序,就是file系统调用的几个函数,fopen,fread之类的
gcc编译成so文件,一个命令就搞定,我忘记具体的选项了 ......
编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。
C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链接程序--> ......
作者:王姗姗,华清远见嵌入式学院讲师。
在嵌入式开发中,作为底层开发者,更看重的是C语言的编程能力,但作为应用程序的开发者,我想学习C++还是有必要的。你只有在了解了C++的特性,从本质上看到它与C的区别才能坚定你认识学习它的决心。我不是专家,但是从我学习的历程上来看,学习C++还是有需要的,不论你做QT ......
原文:http://blog.csdn.net/jackyvan/archive/2010/01/15/5193693.aspx
其实VIM也能把编译 调试集成在一起,像是一个IDE一样。
首先现在VIM的源码,因为要集成调试环境的话需要重新编译VIM才行,所以我们不如重新安装一个。
VIM的现在地址:
http://www.vim.org/sources.php
然后下载VIMGDB,这是vim的集成调试环境的 ......