草庐IT

posix_spawnp

全部标签

linux - wget 或类似程序是否始终在 POSIX 系统上可用?

是否有像wget/lynx/GET这样默认分发在POSIX或*nix操作系统中的HTTP客户端,可用于最大的可移植性?我知道大多数系统都安装了wget或lynx,但我似乎记得安装了一些使用默认设置的Ubuntu服务器系统,它们都没有安装wget或lynx安装在基础包中。我正在为Linux(可能还有Mac)编写一个shell脚本,以便在计算机上安装一个软件。为了避免不得不分发几个大文件,我想从互联网上获取这些文件,而不是用安装程序打包。目前,安装脚本将分布在从Makeself创建的单个文件中.我想避免让安装脚本超过100MB(如果包含文件的话),而且如果用户正在升级或重新安装软件,则可能

Android Lollipop 5.0.1 SQLiteLog POSIX 错误 11 SQLite 错误 : 3850

我在升级应用程序以支持AndroidLollipop时遇到问题。该应用程序实现了一个SyncAdapter,它通过内容提供程序在数据库上写入。同时,用户可能正在浏览应用程序的前端,加载程序从数据库中读取相同的数据。加载器还会监听数据变化。现在,如果我在Lollipop之前的设备上运行程序,一切正常,没有任何错误输出。在Lollipop上,我收到以下logcat消息:11:20:59.34422341-22376/com.example.comE/SQLiteLog﹕(10)POSIXError:11SQLiteError:385011:20:59.36422341-22376/com.

c++ - 是否可以在 POSIX 系统上部分释放动态分配的内存?

我有一个C++应用程序,有时我需要将POD类型的大型缓冲区(例如,25billionfloats的数组)一次保存在内存中的一个连续block中。这种特殊的内存组织是由应用程序使用一些对数据进行操作的CAPI驱动的。因此,不同的安排(例如std::deque使用的较小内存块的列表)是不可行的。应用程序有一个以流方式在数组上运行的算法;这样想:std::vectorbuf();for(size_ti=0;i此特定算法是已应用于数据集的早期处理步骤管道的结论。因此,一旦我的算法通过了i-数组中的第一个元素,应用程序不再需要它。因此,理论上,我可以释放该内存以减少应用程序在处理数据时的内存占用

memory - POSIX 限制 : What exactly can we assume about RLIMIT_DATA?

先决条件POSIX.12008specifiessetrlimit()和getrlimit()函数。为resource参数提供了各种常量,其中一些在下面复制以便更容易理解我的问题。Thefollowingresourcesaredefined:(...)RLIMIT_DATAThisisthemaximumsizeofadatasegmentoftheprocess,inbytes.Ifthislimitisexceeded,themalloc()functionshallfailwitherrnosetto[ENOMEM].(...)RLIMIT_STACKThisisthemaxi

android - Android 中没有哪些最重要的 POSIX 功能?

我即将将一个大型C++项目(某种库项目,它绝对不包含GUI)移植到Android。它实际上是一个VisualC++项目,但将作为中间步骤移植到Linux。我知道Android不是一个“完整的”Linux,也没有声称提供所有POSIX功能,但我也知道使用NDK在Android上有很多“POSIXish功能”。现在我的实际问题是:与完整的POSIX集相比,哪些是Android上不可用的最大/最重要的功能?这样我在从VisualC++移植到LinuxGCC时可以牢记这一点。我试图在Google上找到一些东西,但没有发现任何真正有用的东西,只是到处都有一些东西提到Android上有一些POSI

c++ - 什么是POSIX,有什么其他的接口(interface)标准可以替代它?

关闭。这个问题需要更多focused.它目前不接受答案。想改善这个问题吗?更新问题,使其仅关注一个问题editingthispost.7年前关闭。Improvethisquestion我对C和C++编程的众多标准和接口(interface)感到困惑。有ANSIC、ISOC、GLIBC、POSIX、Win32、MFC等等。这些标准之间有什么区别,它们之间有什么关系?在什么情况下你会选择一个特定的标准?有没有关系图? 最佳答案 ANSI/ISOCANSIC/ISOC是旨在支持极其广泛的不同系统的标准,并允许编译过去的遗留代码。我们可以称

c++ - 是否允许主线程在进入 main() 之前生成 POSIX 线程?

我有一个包含线程的对象。我希望对象的命运和线程的命运是一回事。因此构造函数创建一个线程(使用pthread_create),析构函数执行操作以使线程在合理的时间内返回,然后加入线程。只要我不使用静态存储持续时间实例化这些对象之一,它就可以正常工作。如果我在全局或命名空间或静态类范围内实例化这些对象之一,则程序编译良好(gcc4.8.1)但在运行时立即出现段错误。使用打印语句,我确定主线程在段错误之前甚至没有进入main()。有什么想法吗?更新:还在构造函数的第一行添加了一个打印语句(所以在调用pthread_create之前),甚至在段错误之前没有打印,但是构造函数确实使用了初始化列表

c++ - 一种将 boost::posix_time::ptime 转换为 __int64 的方法

有谁知道是否有将boost::posix_time::ptime转换为__int64值的好方法。(我编译的是微秒版本,不是纳秒版本)。我需要以某种方式执行此操作,因为我希望将生成的__int64存储在union类型中,该类型将原始数据用于高性能应用程序。像这样的某种Memento功能对我来说非常有用。如果可能的话,我想避免强制转换,但如果需要,我会求助于它们。 最佳答案 将ptime转换为整数是毫无意义的,因为ptime是实际时间的抽象。基于整数的时间是该时间的表示,作为一个纪元的计数。您(可能)想要做的是生成time_durati

c++ - 警告 C4996 : This function or variable may be unsafe -- compared to GCC on POSIX

我注意到MS编译器会为cstdlib函数(如getenv)发出“已弃用”警告。MS发明了自己的标准,例如_dupenv_s。问题1AFAIK主要的“不安全”事情是关于重入*。既然MS的CRT被标记为“多线程”(/MT),他们为什么不直接将getenv替换为可重入的线程安全版本呢?是否有人会依赖不安全的行为?问题2我用GCCg++-Wall-Wextra-Weff++-pedanticfoo.cpp编译了相同的代码,它不会产生任何警告。所以我想这在POSIX上不是问题吗?这是如何解决的?(好吧,也许他们只是改变了getenv的行为,很高兴能得到确认。*说它只是关于可重入性是一种过度概括。

c++ - 在 boost::posix_time::ptime 和 mongo::Date_t 之间转换

有没有一种简洁的方式,或者一种普遍接受的方式来从boost::posix_time::ptime转换为mongo::Date_t并再次返回?Mongo到BoostBoostdocumentation似乎不完整或不正确。它记录了一个函数date_from_tm,它从tm构造一个date结构。但是,给出了以下示例:tmpt_tm;/*snip*/ptimept=ptime_from_tm(pt_tm);但是没有记录的函数ptime_from_tm。然而thisheaderfile确实包含该功能。所以,我至少可以从mongo::Date_t转到boost::posix_time::ptime