linux文件函数|Linux 下如何快速查找到头文件和函数定义

linux文件函数|Linux 下如何快速查找到头文件和函数定义的第1张示图

A. 在linux中怎么运行脚本函数

1、同一脚本文件中的函数:#!/bin/shfunction func1(){echo $1}func1 "Hello world!"2、其它脚本文件中的函数:func.sh文件内容如下(其内中定义了函数func1,需容要1个参数): #!/bin/sh function func1() { echo $1 }主程序脚本: #!/bin/sh . func.sh func1 "Hello world!"

B. linux 有哪些写文件的函数

write, writev, fwrite, fputc, fputs, putc

C. Linux中把文件描述符以文件流的方式打开函数是

Linux的本质就是一切皆文件,输入输出设备也是以文件形式存在和管理的。内核启动的版时候默认打开这权三个I/O设备文件:标准输入文件stdin,标准输出文件stdout,标准错误输出文件stderr,分别得到文件描述符 0, 1, 2。 你只是以自定义的文件代替了系统默认的设备文件,实现了输入输出的重定向。

D. 如何在LINUX下查看一个.o文件里有哪些函数

nm -C xxx.o

E. linux脚本中怎样在一个文件中调用另一个文件定义的函数

source myFile文件路径或者. myFilw文件路径

F. Linux c 有比较两个文件 函数接口吗

这个需要自己实现吧,在Windows上面也没有这样的接口啊,不过Linux上有相关的命令,是比较两个文本文件的(可以用来给不同版本的源代码文件制作patch),命令格式是:diff 文件1 文件2

G. linux下如何找到函数所在的文件

用 ctags 或者 etags 工具对所有代码产生索引,然后编辑器就会自动帮你打开

H. linux中什么函数可以实现查询在当前目录下是否有一个文件(按文件名查找),它的函数原型是什么

可以用open返回值判断,也可以用readdir扫描

I. Linux下是否有文件拷贝的库函数

不管是哪种操作系统,要实现文件拷贝,必须陷入内核,从磁盘读取文件内容,然后存储到另一个文件。实现文件拷贝最通常的做法是:读取文件用系统调用read()函数,读取到一定长度的连续的用户层缓冲区,然后使用write()函数将缓冲区内容写入文件。也可以用标准库函数fread()和fwrite(),但这两个函数最终还是通过系统调用read()和write()实现拷贝的,因此可以归为一类(不过效率肯定没有直接进行系统调用的高)。一个更高级的做法是使用虚拟存储映射技术进行,这种方法将源文件以共享方式映射到虚拟存储器中,目的文件也以共享方式映射到虚拟地址空间中,然后使用memcpy高效地将源文件内容复制到目的文件中。点击(此处)折叠或打开#include#include#include#include#include#include#include#include#include#include#defineerror(fmt,args)\printf(fmt,##args);\printf(":%s\n",strerror(errno))inlineintcp_rw(intsrcfd,intdstfd,char*buf,intlen);inlineintcp_map(intsrcfd,intdstfd,size_tlen);intmain(intargc,char**argv){charbuf[8192];intsrcfd,dstfd;clock_tstart,end;structtmsstm,ntm;structstatfilestat;inttck;charcmdline[30];if(argc!=3)printf("usage:cmd");tck=sysconf(_SC_CLK_TCK);start=times(&stm);if((srcfd=open(argv[1],O_RDONLY))==-1){error("open%serror",argv[1]);exit(0);}if((dstfd=open(argv[2],O_RDWR|O_CREAT|O_TRUNC,0666))==-1){error("creat%serror",argv[2]);exit(0);}fstat(srcfd,&filestat);if(lseek(dstfd,filestat.st_size,SEEK_SET)==-1){error("lseekerror");exit(0);}if(write(dstfd,"",1)!=1){error("writeerror");exit(0);}cp_map(srcfd,dstfd,filestat.st_size);close(srcfd);close(dstfd);end=times(&ntm);printf("ing%sto%susingcp_map:filesize=%luMBytesUsing%fseconds\n",argv[1],argv[2],filestat.st_size>>20,(end-start)/(double)tck);sprintf(cmdline,"rm-f%s",argv[2]);system(cmdline);return0;}inlineintcp_rw(intsrcfd,intdstfd,char*buf,intlen){intnread;while((nread=read(srcfd,buf,len))>0){if(write(dstfd,buf,nread)!=nread){error("writeerror");return-1;}}if(nread==-1){error("readerror");return-1;}return0;}inlineintcp_map(intsrcfd,intdstfd,size_tlen){char*src,*dst;if((src=mmap(0,len,PROT_READ,MAP_SHARED,srcfd,0))==MAP_FAILED){error("mmapsrcerror");return-1;}if((dst=mmap(0,len,PROT_WRITE,MAP_SHARED,dstfd,0))==MAP_FAILED){error("mmapdsterror");return-1;}if(memcpy(dst,src,len)==NULL){error("memcpyerror");return-1;}munmap(src,len);munmap(dst,len);return0;}运行,拷贝一个1.1G的文件,得到如下结果[[email protected]]#.//home/ker.tgz./ker.tgzing/home/ker.tgzto./ker.tgzusingcp_map:filesize=1030MBytesUsing61.900000secondsing/home/ker.tgzto./ker.tgzusingcp_rw:filesize=1030MBytesUsing34.330000seconds使用read/write的方法居然比mmap的快一倍,这是怎么回事呢?理论上mmap系统调用只进行了一次,而且拷贝文件是直接在内核空间进行的,read/write则需要通过系统调用把内核空间的缓存复制到用户空间,再将用户空间缓存复制到内核空间,拷贝次数明显多了一个呢?速度为什么于理论预测的不一致呢?

J. Linux 下如何快速查找到头文件和函数定义

如:grep “time_t” /usr/include/*.h |grep “typedef”可以查找到“typedef_time_t time_t;”Locatekeyword.h 可以查找名为keyword 的头文件所在地目录树使用linux系统难免会忘记文件所在的位置,可以使用以下命令对系统中的文件进行搜索。搜索文件的命令为”find“;”locate“;”whereis“;”which“;”type“linux下最强大的搜索命令为”find“。它的格式为”find <指定目录> <指定条件> <指定动作>“;比如使用find命令搜索在根目录下的所有interfaces文件所在位置,命令格式为”find / -name 'interfaces'“使用locate搜索linux系统中的文件,它比find命令快。因为它查询的是数据库(/var/lib/locatedb),数据库包含本地所有的文件信息。使用locate命令在根目录下搜索interfaces文件的命令为”locate interfaces“使用”whereis“命令可以搜索linux系统中的所有可执行文件即二进制文件。使用whereis命令搜索grep二进制文件的命令为”whereis grep“。使用which命令查看系统命令是否存在,并返回系统命令所在的位置。使用which命令查看grep命令是否存在以及存在的目录的命令为”which grep“使用type命令查看系统中的某个命令是否为系统自带的命令。使用type命令查看cd命令是否为系统自带的命令;查看grep 是否为系统自带的命令。

未经允许不得转载:山九号 » linux文件函数|Linux 下如何快速查找到头文件和函数定义

赞 (0)