- 博客(7)
- 收藏
- 关注
转载 用C++设计一个不能被继承的类
题目:用C++ 设计一个不能被继承的类。分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。在Java 中定义了关键字final ,被final 修饰的类不能被继承。但在C++ 中没有final 这个关键字,要实现这个要求还是需要花费一些精力。首先想到的是在C++ 中,子类的构造函数会自动调用父类
2011-06-17 23:34:00 625
转载 linux gcc 编译时头文件和库文件搜索路径
<br /><br /><br />一、头文件<br /> <br />gcc 在编译时寻找所需要的头文件 :<br /> <br />※搜寻会从-I开始<br /> <br />※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH<br /> <br />※再找内定目录<br />/usr/include <br />/usr/local/include<br />/usr/lib/gcc-lib/i386-linux/2
2011-06-01 21:48:00 757
原创 G++ 编译使用动态链接库和静态链接库
<br />用G++ 编译时使用动态链接库和静态链接库的方法基本同GCC<br /> <br />但是实验中,我发现G++好像必须要求有函数原型的声明。<br />比如,在一个库libhello.so中有个函数 void hello(char *), 在 test.cpp中想要使用hello,如果是GCC,不需要在test.c文件中声明 extern void hello(char *)。 但G++需要。<br /> <br />另外,如果libhello.so是使用c语言编译器编译生成的,那么应该使用ex
2011-06-01 21:45:00 3501 1
原创 用GCC编译C++文件
<br />用gcc编译c++文件:<br />gcc -o test test.cpp -lstdc++<br /> <br />-lstdc++ 大概就是使用stdc++这个库
2011-06-01 20:49:00 1557
原创 GCC 编译使用动态链接库和静态链接库
1. 创建动态链接库#includevoid hello(){ printf("hello world/n");} 用命令gcc -shared hello.c -o libhello.so编译为动态库。可以看到,当前目录下多了一个文件libhello.so。2. 再编辑一个测试文件test.c,内容如下#includeint main(){ printf("call hello()"); hello();} 编译 gcc test.c -lhello-l 选项告诉
2011-06-01 20:44:00 45368 3
原创 GCC 参数
-D macro 或者 -Dmacro 相当与 在代码中添加#define macro (这里的macro可以是任何字符串,-D才是选项,而不是-Dmacro)-D macro=defn 相当与在代码中添加 #define macro=defn-Umacro 相当于C语言中的#undef macro -Idir 在你是用#include"file"的时候,gcc/g++会先在当前目录查找你所制定的头文件,如 果没有找到,他回到缺省的头文件目录找,如果使用-I制定了目录,他会先在你所制定的目录查找,然后
2011-06-01 16:52:00 5860 1
原创 C语言可变参数实现函数重载
<br />ANSI C 标准中,有可变参数的概念,可以通过一组宏实现<br /> <br /> va_list arg_ptr: 定义一个可变参数列表指针<br /> va_start(arg_ptr, argN): 让arg_ptr指向参数argN<br /> va_arg(arg_ptr, type): 返回类型为type的参数指针,并指向下一个参数<br /> va_copy(dest, src):
2011-06-01 16:04:00 2635 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人