社区
Linux/Unix社区
帖子详情
请问libc以及很多unix的代码中的函数都以__开头,有什么特殊的含义吗?回者有分
encyption
2004-06-07 03:07:27
多谢
...全文
159
12
打赏
收藏
请问libc以及很多unix的代码中的函数都以__开头,有什么特殊的含义吗?回者有分
多谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nutian
2004-06-09
打赏
举报
回复
我理解是,普通函数和库函数不带__,带__的函数一般是系统函数,是更底层一些的函数。
whiteclouds
2004-06-09
打赏
举报
回复
下划线开头的函数和变量一般是系统保留的,程序一般不需调用.
gaoxianfeng
2004-06-09
打赏
举报
回复
约定俗成的一种编成习惯
terryandy
2004-06-09
打赏
举报
回复
这是"故弄玄虚"的一种编程风格
singleon
2004-06-09
打赏
举报
回复
关注,帮顶一下。
ccwwcsdnc
2004-06-08
打赏
举报
回复
同意楼上,所以一般建议程序中不使用以“__”开头的标识符。
lvgame
2004-06-08
打赏
举报
回复
C++标准(条款17.4.3.1.2,“Global names”)规定:
下列名字和函数总是保留给编译器:
·所有带双下划线(__)或以一个下划线加一个大写字母开始的名字保留给编译器随意使用。
·所有以一个下划线开始的名字保留给编译器作全局名称用。
C标准有类似的申明。
yanedanny
2004-06-08
打赏
举报
回复
只是为了更大可能的防止冲突。就像系统常量用大写一样。
encyption
2004-06-08
打赏
举报
回复
但是库里面的函数还不全都是以__开头
sunwt
2004-06-08
打赏
举报
回复
因为C没有namespace,为了避免程序员写的函数与库里的函数名冲突,库里面的函数都以__开头,然后建议一般的函数不要以他们开头。
womenspig
2004-06-08
打赏
举报
回复
同上!
benchan
2004-06-07
打赏
举报
回复
好像没有特殊含义吧,只是符号,为了区分一般函数
linux IO_FILE 利用
基本结构 _IO_FILE_plus 定义如下: struct _IO_FILE_plus { FILE file; const struct _IO_jump_t *vtable; }; 包括一个结构体 file 和一个指针 vtable 。 其
中
vtable 指向一个
函数
指针表,
很多
IO_FILE 的攻击都是围绕它展开的。 _IO_FILE_plus 类型的结构有 _IO_2_1_stdin_ 、 _IO_2_1_stdout_ 和 _IO_2_1_stderr_ 。另外有头指针 _IO_
linux 查
函数
调用命令,【入门】用Linux
中
man命令查询C
函数
【入门】用Linux
中
man命令查询C
函数
大家都知道在
Unix
/Linux
中
有个man命令,可以查询常用的命令,
函数
。可是对于我们这样只知道用"man
函数
名"来查询的人来说,会遇到
很多
问题,比如:man read,我想看的是ANSI C
中
stdio的read
函数
原型和说明,没想到出来的确是BASH命令的说明,这是怎么回事呢?原来read本身是man命令的一个参数,这样输入man就会以为你要使用r...
为什么要避免使用
libc
【CSDN 编者按】
libc
是 Linux 下的标准 C 库,也是初学者写 hello world 包时含有的头文件 #include < stdio.h> 定义的地方,后来其逐渐被 g
libc
给取代,本文作者列出了为什么要避免使用
libc
的 20 个理由。作者 |Chris Wellons 译者| 弯月出品 | CSDN(ID:CSDNnews)一般,在使用 C 语言时,...
UNIX
环境高级编程 学习笔记 第二十章 数据库
函数
库
20世纪80年代早期,
UNIX
系统被认为不适合运行多用户数据库系统,因为早期的系统(如V7)没有提供任何形式的IPC机制(除了半双工管道),也没有提供任何形式的字节范围锁机制。但现在这些缺陷大多已得到纠正,到20世纪80年代后期,
UNIX
系统已为运行可靠的、多用户的数据库系统提供了一个适合的环境,从那时以来,
很多
商业公司都已提供这种数据库系统。 dbm是一个在
UNIX
系统
中
很流行的数据库
函数
库,它由Ken Thompson开发,使用了动态散列结构,最初,它是V7提供的,并出现在所有BSD版本
中
,也包含在SV
GCC编译的背后( 预处理和编译 汇编和链接 )
平时在Linux下写
代码
,直接用"gcc -o out in.c"就把
代码
编译好了,但是这后面到底做了什么事情呢?如果学习过编译原理则不难理解,一般高级语言程序编译的过程莫过于:预处理、编译、汇编、链 接。gcc在后台实际上也经历了这几个过程,我们可以通过-v参数查看它的编译细节,如果想看某个具体的编译过程,则可以分别使用-E,-S,-c和 -O,对应的后台工具则分别为cpp,cc1,as,ld。
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章