一套完整的makefile样板
~/bin 可执行程序目录 ~/etc 配置文件目录 ~/inc 头文件目录 ~/lib 函数库文件目录 ~/log 日志文件目录 ~/src 源程序文件目录 ~/src/lib 函数库源程序目录 ~/src/lib/LIB_1 函数库libLIB_1源程序目录 ~/src/APP_A 子系统APP_A源程序目录 ~/src/APP_A/mod_a 子系统APP_A模块mod_a源程序目录 ~/.profile ~/makefile ~/makefile文件内容如下: all: @MakeSubDir(...
C++开发常用工具“群英会”
开发环境 ---->Turbo c DOS时代c语言开发的经典工具,目前适合两类人使用:c语言beginner(尤其是学生一族),具有怀旧情节的专业人士:) ---->Visual C++ 6.0/7.0 稳定而强大的IDE开发环境,具有丰富的调试功能,定制宏的功能也是其一大特色。Microsoft的经典之作,功能强大自不必言说。附带的一些工具也很不错,比如:Spy++。但编译器较之同类,支持c++标准的程度不够好,尤其6.0及以前的版本。 ---->BCB Borland的C++ Builder是可以...
static和const的比较和解释
static 是c++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static 修饰符的实质。 static 的两大作用: 一、控制存储方式: static被引入以告知编译器,将变量存储在程序的静态存储区而非栈上空间。 1、引出原因:函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何...
thinking in c++ 之const小结
因为预处理只做文本替代,它既没有类型检查思想,也没有类型检查工具,所以预处理器的值替代会产生一些微小的问题,这些问题在c++中可以通过使用const而避免。 const小结: 1,const的引入: 因为预处理只做文本替代,它既没有类型检查思想,也没有类型检查工具,所以预处理器的值替代会产生一些微小的问题,这些问题在c++中可以通过使用const而避免。 2,c++编译器通常并不为const分配空间,它把这个定义保存在符号表中。当const常量被使用时,编译的时候就进行常量折叠。有一些情况会强制编译器进...
解析C++中的内部连接与外部连接
在说内部连接与外部连接前,先说明一些概念。 1.声明 一个声明将一个名称引入一个作用域; 在c++中,在一个作用域中重复一个声明是合法的 以下都是声明: int foo(int,int); //函数前置声明 typedef int Int; //typedef 声明 class bar; //类前置声明 extern int g_var; //外部引用声明 class bar; //类前置声明 typedef int Int; //typedef 声明 extern int g_var; //外部引用声...
编码规范学习心得
在实习期间已经对编码规范进行了学习,收获还是比较大的,许多很不好的编码习惯都改掉了,但还有一部分做的不够好,作为对实习期间所做项目的总结,主要还有以下几方面: 1、比较看重代码的最终运行结果,对于代码本身的质量(效率和可维护性等)要求不够严格。 这个我想主要是我对软件开发认识不够造成的。在过去总是以为做软件开发经常会做一些技巧性非常高和算法非常复杂的东西,不管代码的质量如何,只要能正确的运行出结果,自己便会有很大成就感,比较满足。在实习的时候,我已经认识到我们在工作中一般不会有太多非常复杂的东西,通常只是...
test {} and the "for" am
#include int true_or_false(); int true_or_false() { static j = 0; j++; if(j == 20) return 0; else return 1; } int main(int argc, char* argv[]) { { int i; i=1; cout i endl; } int i; i=2; cout i endl; { for(int i = 0; true_or_false(); i++) cout i; } return...
c程序设计感悟
c程序设计感悟 1)学习应该从基础打起,不要一开始就尝试最高深的技术。 2)每看一本书,不要说这章我以前学习过了,也掌握的很好,因此我可以跳过这一章看更重要的了。 3)对于作业,遇到不会的尽量不要立刻向别人请教。如果实在解决不了的问题,可以先完成你会的,然后把一些特别的难点提炼出来,向高手请教。 3)不要指望书本和行家能帮你解决一切问题,因为并不是所有问题都能由别人教给你。 4)向别人请教问题应该把问题说明白。对于错误提示信息应该原样提供出来,不要按自己理解的信息提供。因为既然你自己做不了,说明你理解一...
gcc与g++
Linux 中最重要的软件开发工具是 GCC。GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。 GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C++ 程序。在 Linux 中,C 源文件的后缀名为 .c,而 C++ 源文件的后缀名为 .C 或 .cpp。 gcc 命令只能编译 C++...
Emacs的简单使用说明
Emacs的简单使用说明 Ctrl-h 帮助 Ctrl-h t 帮助教程 Ctrl-x u 撤销前次操作 Ctrl-x Ctrl-c 退出emacs Ctrl-f Ctrl-b Ctrl-p Ctrl-n 光标向 前、后、上、下 移动 Ctrl-u 8 Ctrl-f 表示光标向前移动8个字符 Ctrl-g 取消当前操作 Ctrl-x Ctrl-f 打开文件 Ctrl-x Ctrl-s 保存当前文件 Ctrl-x Ctrl-w 另存为 Ctrl-x s 提示保存所有文件 Ctrl-x Ctrl-b 列出缓...
c与c++程序连接问题
c与c++程序连接问题 它们之间的连接问题主要是因为c c++编绎器对函数名译码的方式不能所引起的,考虑下面两个函数 /* c*/ int strlen(char* string) { ... } //c++ int strlen(char* string) { ... } 两个函数完全一样。在c在函数是通过函数名来识别的,而在C++中,由于存在函数的重载问题,函数的识别方式通函数名,函数的返回类型,函数参数列表三者组合来完成的。因此上面两个相同的函数,经过C,C++编绎后会产生完全不同的名字。所以,如...
看实例学习VB 6.0之四
二、学习VB 6.0 的一些常用控件 1、文本框TEXTBOX的使用 文本框控件(TextBox)是VB中最常用的控件。它是显示和输入文本的容器,相当于一个文字编辑器,提供了所有基本的文字处理功能,例如文本的编辑等。在下面这个小程序中,我们能看到文本框控件(TextBox)的最基本的属性。 为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码 Option Explicit '-------------------------------------- ' TextBox的常用属性的例子...