草庐IT

posix_fallocate

全部标签

c - POSIX和C语言有什么关系?

我理解C语言是一个ISOstandard,我可以从维基百科看到该标准包括29headerfiles,并且符合这些头文件,C应用程序在理论上是“可移植的”。然而,实际上,我最近尝试在simpleCHTTPserver上做一个教程使用不属于C标准的头文件。因此,在这种情况下,我能想到的最简单的应用程序-包含单个intmain(void)函数的C应用程序,并且少于100行,目的是监听网络接口(interface)超出了C标准?在这种情况下,作为规范的C语言与作为语言的POSIX规范(假设我正在为Linux编写应用程序)之间的关系是什么?据我所知,“man7.org”提供了一个C头文件列表,这

linux - 版本控制软件将保留 POSIX FS (ext3/ext4) 中的所有文件及其元数据

场景我正在为某些嵌入式Linux设备开发RootFS。它位于主机上,通过NFS导出,我的开发板安装在“/”下。我需要的工作流程是:-与其他开发人员分享我的FS(他们有自己的开发板)-将我的RootFS备份到某个“服务器”-将我的RootFS部署到闪存盘或其他媒体上-跟踪我的根FS中特定文件的更改、分支和merge、回滚等。伙计们,这在我看来是一个版本控制场景,我什至使用git。问题如您所知,Git(还有svn/mercurial/bazaar!)1)不存储特殊文件(/dev下的设备文件等)2)不存储文件所有者和权限。我想按原样存储所有内容。问题:您知道一些可以完成这项工作的VCS吗?或

linux - 版本控制软件将保留 POSIX FS (ext3/ext4) 中的所有文件及其元数据

场景我正在为某些嵌入式Linux设备开发RootFS。它位于主机上,通过NFS导出,我的开发板安装在“/”下。我需要的工作流程是:-与其他开发人员分享我的FS(他们有自己的开发板)-将我的RootFS备份到某个“服务器”-将我的RootFS部署到闪存盘或其他媒体上-跟踪我的根FS中特定文件的更改、分支和merge、回滚等。伙计们,这在我看来是一个版本控制场景,我什至使用git。问题如您所知,Git(还有svn/mercurial/bazaar!)1)不存储特殊文件(/dev下的设备文件等)2)不存储文件所有者和权限。我想按原样存储所有内容。问题:您知道一些可以完成这项工作的VCS吗?或

c - 使用 POSIX API 读取文件

考虑以下将文件内容读入缓冲区的代码#include#include#include#include#include#defineBLOCK_SIZE4096intmain(){intfd=-1;ssize_tbytes_read=-1;inti=0;charbuff[50];//Arbitarysizeforthebuffer??Howtooptimise.//Dynamicallocationisachoicebutwhatisthe//rightwaytorelatethefilesizetobufffersize.fd=open("./file-to-buff.txt",O_RD

c - 使用 POSIX API 读取文件

考虑以下将文件内容读入缓冲区的代码#include#include#include#include#include#defineBLOCK_SIZE4096intmain(){intfd=-1;ssize_tbytes_read=-1;inti=0;charbuff[50];//Arbitarysizeforthebuffer??Howtooptimise.//Dynamicallocationisachoicebutwhatisthe//rightwaytorelatethefilesizetobufffersize.fd=open("./file-to-buff.txt",O_RD

c - ftruncate 不适用于 Mac OS X 中的 POSIX 共享内存

我在MacOSX上写了一段代码来使用POSIX共享内存,如下所示:#include#include#include#include#includeintmain(){intfileHandle=shm_open("TW_ShMem1",O_CREAT|O_RDWR,0666);if(fileHandle==-1){//error.}else{//Here,itisfailingonMacOSXif(-1==ftruncate(fileHandle,8192)){shm_unlink("TW_ShMem1");fileHandle=-1;}else{return0;}}return1;}

c - ftruncate 不适用于 Mac OS X 中的 POSIX 共享内存

我在MacOSX上写了一段代码来使用POSIX共享内存,如下所示:#include#include#include#include#includeintmain(){intfileHandle=shm_open("TW_ShMem1",O_CREAT|O_RDWR,0666);if(fileHandle==-1){//error.}else{//Here,itisfailingonMacOSXif(-1==ftruncate(fileHandle,8192)){shm_unlink("TW_ShMem1");fileHandle=-1;}else{return0;}}return1;}

linux - POSIX:FreeBSD 与 Linux 中的管道系统调用

在Linux(2.6.35-22-generic)中,manpipe指出pipe()createsapipe,aunidirectionaldatachannelthatcanbeusedforinterprocesscommunication."在FreeBSD(6.3-RELEASE-p5)中,manpipe指出Thepipe()systemcallcreatesapipe,whichisanobjectallowingbidirectionaldataflow,andallocatesapairoffiledescriptors."一个是单向的,一个是双向的。我希望这不是一个愚蠢

linux - POSIX:FreeBSD 与 Linux 中的管道系统调用

在Linux(2.6.35-22-generic)中,manpipe指出pipe()createsapipe,aunidirectionaldatachannelthatcanbeusedforinterprocesscommunication."在FreeBSD(6.3-RELEASE-p5)中,manpipe指出Thepipe()systemcallcreatesapipe,whichisanobjectallowingbidirectionaldataflow,andallocatesapairoffiledescriptors."一个是单向的,一个是双向的。我希望这不是一个愚蠢

c++ - 大多数时候从 POSIX 线程在 C++ 中打开/proc/net/tcp 失败

当我尝试从C++中的子POSIX线程打开/proc/net/tcp时,它失败并显示“没有这样的文件或目录”错误。如果我尝试从父线程打开它,它每次都会成功,而在父线程中打开/关闭它的过程也会使它在子线程中成功大约三分之一的时间。我可以100%地在子线程中打开/proc/uptime而不会出现问题。下面是一些可以用“g++-Walltest.cc-otest-pthread”编译的示例代码:#include#include#include#include#includeusingnamespacestd;void*open_test(void*){ifstreamin;in.open("/