分类目录:C/C++

以下是分类 C/C++ 下的所有文章

linux .a .o .so 文件的区别

.o 是一个最小的编译单元 .a 就是一组 .o文件打包了 .so 除了没有 main 函数,和一个可执行程类似了。     在Linux上创建静态库.a和动态库.so 我们通常把一些公用函数制作成函数库,供其它程序使用. 函数库分为静态库和共享库两种: 1.静态函数库 这类库的名字一般是libxxx.a. 利用静态函数库编译成的文件比较……

Linux动态链接库的使用案例

看了网上的一篇linux 动态链接库的使用  http://www.cnblogs.com/Anker/p/3527677.html 自己动手试验了下,发现有坑,运行不了,这里在修正下 会报错: $./main  ./main: error while loading shared libraries: libcac.so: cannot open shared object file: No such file or directory   以下是正解:  动态链接库……

C++ 操作MySql数据库–mysql_real_escape_string()函数的使用

unsigned long mysql_real_escape_string(MYSQL *mysql, char *to, const char *from, unsigned long length) 注意,mysql必须是有效的开放式连接。之所以需要它是因为,转义功能取决于服务器使用的字符集。 描述 该函数用于创建可在SQL语句中使用的合法SQL字符串。请参见9.1.1节,“字符串”。 按照连接的当前字符集,将“f……

C++ string::size_type 类型

int main()   {       string str(“Hello World!\n”);       cout << “The size of ” << str << “is ” << str.size()            << ” characters, including the newline” << endl;       return 0;   }   从逻辑上来讲,size() ……

std::string::find() 和 std::string::npos

int idx = str.find(“abc”); if (idx == string::npos)  …   上述代码中,idx的类型被定义为int,这是错误的,即使定义为 unsigned int 也是错的,它必须定义为 string::size_type。   npos 是这样定义的: static const size_type npos = -1;   因为 string::size_type (由字符串配置器 allocator 定……

Linux下如何编译、运行C、C++程序?

Linux   中最重要的软件开发工具是   GCC。GCC   是   GNU   的   C   和   C++   编译器。实际上,GCC   能够编译三种:C、C++   和   Object   C(C   语言的一种面向对象扩展)。利用   gcc   命令可同时编译并连接   C   和   C++   源程序。         #DEMO#:   hello.c         如果你有两个或少数几个   C   源,也……

[C/C++]#ifndef,#define用法

文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。 还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式……