随笔分类 - 编程语言
C/C++/汇编等
摘要:1.从http://www.cs.wustl.edu/~schmidt/ACE.html下载ACE-6.1.0.tar.gz,解压到 ~/local 目录下tar -zxfACE-6.1.0.tar.gz得到~/local/ACE_wrappers2.设置环境变量vim ~/.bashrcexport ACE_ROOT=/home/yourname/ACE_wrappersexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ACE_ROOT/ace3.创建文件$ACE_ROOT/ace/config.h,写入如下内容#include"ace/config
阅读全文
摘要:环境:redhat enterprise linux 5 (server version)项目中的lib3p目录下放置了sqlite共享库libsqlite3.socmake文件已经指定了lib3p路径运行项目生成的可执行文件时报错:./bin/test-slfdb_shell: symbol lookup error: /home/liangxx/sldb/build/sldb/lib/libsldb.so.1: undefined symbol: sqlite3_backup_init百度到的结果是可执行文件链接的共享库可能不正确,也就是说链接到的不是lib3p下的libsqlite3.s
阅读全文
摘要:修改时区cp /usr/share/zoneinfo/UTC /etc/localtime[hayuk@localhost qinghua]$ date 2012年 11月 02日 星期五 08:04:30 CST[hayuk@localhost qinghua]$ su - root 口令:[root@localhost ~]# cp /usr/share/zoneinfo/UTC /etc/localtime cp:是否覆盖“/etc/localtime”? y [root@localhost ~]# date 2012年 11月 02日 星期五 00:07:30 U...
阅读全文
摘要:四个常用宏:__FILE__// 当前文件名__DATE__// 编译日期__LINE__// 编译行数__TIME__// 编译时间// liangxiaxu@126.com#include <stdio.h>int main(void){ printf("hello, gcc!\n"); printf("%s\n", __FILE__); printf("%s\n", __DATE__); printf("%d\n", __LINE__); printf("%s\n", __TI
阅读全文
摘要:[hayuk@localhost qinghua]$ touch hello.c [hayuk@localhost qinghua]$ ls hello.c [hayuk@localhost qinghua]$ vim hello.c // liangxiaxu@126.com#include <stdio.h>int main(void){ printf("hello, gcc!\n"); return 0;}// vim: set tabstop=4 shiftwidth=4 expandtab: [hayuk@localhost qinghua]$ ls
阅读全文
摘要:今天我在运行一个代码时出现了段错误。(1)用gdb查看core文件信息*******************************************************************************************[liangxx@localhost bin]$ gdb ./test-client core.2693 GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-23.el5)Copyright (C) 2009 Free Software Foundation, Inc.License GPLv3+: GNU
阅读全文
摘要:extern "C"的双重含义1.被它修饰的目标是“extern ”;2.被它修饰的目标是“C ”。让我们来详细解读这两重含义。被extern "C"限定的函数或变量是extern类型的。extern 是C/C++ 语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。记住下列语句:extern int a;仅仅是一个变量的声明,其并不是在定义变量a ,并未为a 分配内存空间。变量a 在所有模块中作为一种全局变量只能被定义一次,否则会出现连接错误。引用一个定义在其它模块的全局变量或函数(如
阅读全文
摘要:与宏的比较内联函数的功能和预处理宏的功能相似。相信大家都用过预处理宏,我们会经常定义一些宏,如:#define TABLE_COMP(x) ((x)>0?(x):0)就定义了一个宏。为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去执行前要保存现场并记忆执行的地址,转回后要恢复现场,并按原来保存地址继续执行。因此,函数调用要有一定的时间和空间方面的开销,于是将影响其效率。而宏只是在预处理的地方把代码展开,不需要额外的空间和时间方面的开销,所以调用一个宏比调用一个函数更有
阅读全文
摘要:字节为什么要对齐?现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。一.对齐的作用和原因各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问 一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐。其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台要求对 数据存放进行对齐,会在存取效率上带
阅读全文
摘要:本文档作者联系方式:MSN:haoel@hotmail.com(常用)QQ:753640(不常用)概述什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。
阅读全文
摘要:中文版维护人——徐明<xuming@users.sourceforge.net>GCC 1Section: GNU Tools (1) Updated: 2003/12/05 Other Links: GNU GPL ChineseNAMEgcc,g++-GNU工程的C和C++编译器(egcs-1.1.2)总览(SYNOPSIS)gcc[option|filename ]... g++[option|filename ]...警告(WARNING)本手册页内容摘自GNU C编译器的完整文档,仅限于解释选项的含义.除非有人自愿维护,否则本手册页不再更新.如果发现手册页和软件之间有所矛
阅读全文
摘要:flat模式①#autoscan生成configure.scan②改写configure.scanAC_INIT(最终可执行文件名, 版本号)AM_INIT_AUTOMAKEAC_CONFIG_SRCDIR(源文件所在文件夹中的一个文件名,用于检测路径)AC_CONFIG_HEADER(config.h)AC_OUTPUT(Makefile)AC_PROG_RANLIB改写完毕后另存为configure.in③#aclocal④#autoconf⑤#autoheader⑥编辑Makefile.amAUTOMAKE_OPTIONS=foreignbin_PROGRAMS=可执行文件名1可执行文件
阅读全文
浙公网安备 33010602011771号