linux环境下,c++库文件中的符号的含义
c++库文件中的符号的含义:
所有的符号都是以下划线加上大写字母也就是"_Z"开头,对于在 类里或者命名空间中的符号,后面紧跟"N",然后是各个命名空间和类的名字,每个名字前是名字字符串的长度,随后是大写字母"E",对于一个函数,他的参数列表都在E后面,比如对于float类型,就是字母"f",举个例子,对于函数N::C::func(int, float),在库文件或者目标文件中的符号就是_ZN1N1C4funcEif。在binutils中提供了一个工具c++filt可以直接将符号翻译为代码中的名称,比如命令c++filt ZN1N1C4funcEif,输出结果是N::C::func(int, float)
相关文档:
最近在做一个I2C键盘的Linux驱动,参考了其他芯片的一些代码,其中陆续发现有些让人迷惑的东西,把我的迷惑及理解在这里加以记录:
1. i2c_driver结构体的probe成员的原型:
int (*probe)(struct i2c_client *, const struct i2c_device_id *);
即:probe函数被调用时会从上边传两个个参 ......
理论上,本文适用于boost的各个版本,尤其是最新版本1.39.0;适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,gcc,C++ Builder等。先总结一下Windows系统。
一、下载
首先从boost官方主页http://www.boost.org/下载最新版boost安装包(目前最新版是1.39.0)。因为boost一部分类是需要编译成库才 ......
查询软件完整名称
格式:rpm -qa 部分文件名
例如:shell>rpm -qa firefox
firefox-3.0.5-l.e15.centos
会列出火狐浏览器的全称。一般安装包都会包含版本号。
查询软件安装目录
格式:rpm -ql 完整软件名
例如:rpm -ql firefox-3.0.5-l.e15.centos
安装rpm包
格式:rpm -ivh 软件包
例如:rpm -ivh firefox-3 ......
一、c++ 调C:
/* c语言头文件:cExample.h */
#ifndef C_EXAMPLE_H
#define C_EXAMPLE_H
#ifdef __cplusplus
extern "C"
{
#endif
int add(int x,int y);
#ifdef __cplusplus
}
#endif
#endif
/* c语言实现文件:cExample.c */
#include "cExample.h"
int add( int x, int y )
{
return ......
配置Linux wget,yum 使用代理访问网络。
如果你的linux主机需要通过代理服务器才能访问外部网络。可以通过如下方式实现。
1.wget
需要在当前用户的目录下创建一个".wgetrc"文件
[root@linux ~]#vi .wgetrc
http-proxy = 10.1.18.34:3128
ftp-proxy = 10.1.18.34:3128
分别表示http的代理服务器和ftp的代理服务器。如 ......