Articles of c + +

请解释这个链接错误:在.rodata节中引用

我正在做一个32位SLES10机器。 使用GCC 3.4.2 这是一个示例错误 `.L8245' referenced in section `.rodata' of CMakeFiles/myproj.dir/c++/util/MyObj.o: defined in discarded section `.gnu.linkonce.t._ZN5boost9re_detail9reg_grep2INS0_21grep_search_predicateIPKcSaIcEEES4_cNS_12regex_traitsIcEES5_S5_EEjT_T0_SA_RKNS_14reg_expressionIT1_T2_T3_EEjT4_' of CMakeFiles/myproj.dir/c++/util/MyObj.o

Linux串行端口:阻塞读取超时

我已经学习了许多有用的线程和一些教程,但我仍然有一些应该是非常简单的问题。 这里有一些我已经读过的线索供参考: 如何在读取函数调用中实现超时? 如何从C中的串口打开,读取和写入 无论如何,我有一个问题。 我的代码工作正常,如果我收到数据。 如果我不这样做,read()函数就会停止,唯一的办法就是使用kill -9(注意:我使用信号处理来向读取串行数据的线程发送信号来终止。肇事者,read()调用仍然停止,即使我已经删除了我的信号处理)。 我想要做的是读取一次阻塞并读取块(因此节省CPU使用),但是如果读取没有收到数据,我不想超时。 以下是我正在应用到端口的设置: struct termios serial_struct; serial_struct.c_cflag = B115200 | CS8 | CLOCAL | CREAD; serial_struct.c_iflag = IGNPAR; serial_struct.c_oflag = 0; serial_struct.c_lflag = 0; serial_struct.c_cc[VTIME] = 1; // timeout after .1s that isn't working serial_struct.c_cc[VMIN] = 64; // want to read a chunk of 64 bytes at a […]

如何让C程序等待(在Linux上)?

如何让C程序等待(在Linux上)? (我需要用MPI等待 – 我需要C代码)

使用C ++在Linux中更改当前目录

我有以下代码: #include <iostream> #include <string> #include <unistd.h> using namespace std; int main() { // Variables string sDirectory; // Ask the user for a directory to move into cout << "Please enter a directory…" << endl; cin >> sDirectory; cin.get(); // Navigate to the directory specified by the user int chdir(sDirectory); return 0; } 这段代码的目的很明显:将用户指定的目录设置为当前目录。 我的计划是对其中包含的文件进行操作。 […]

I2C设备的linux驱动

如何使i2c设备的字符设备,打开,closures,ioctl等function? 过去两周我一直在寻找关于它的信息,但找不到任何工作。 我发现了一些基本的Linux设备驱动程序的信息,但它是为2.6内核编写的,我使用3.4.79(我试图在cubian distr上为cubieboard2写这个驱动程序),所以这本书有许多不赞成使用的函数,写我的驱动程序就像那里,但它仍然不工作(给我内核错误,而我正在修理猫字符设备)。 任何人都可以解释我该怎么做,或者至less给我一个工作的例子。 所以,有我的代码: http : //pastebin.com/T7PBTpym 我只是试图让i2c总线的工作,但在我的示波器上,我没有看到任何i2c线,而我没有得到任何错误,当我编译它。 另外我无法find如何将设备驱动程序附加到i2c总线号码。 因为我的cubieboard2上有4个i2c总线,如何将设备驱动程序附加到i2c-1总线上?

在编译affdex linux示例应用程序时未定义对进程(std :: __ cxx11 :: basic_string …)的引用

我尝试编译affdex sdk示例应用程序时遇到以下错误 Linking CXX executable video-demo CMakeFiles/video-demo.dir/video-demo.cpp.o: In function 'main': video-demo.cpp:(.text+0x11cb): undefined reference to affdex::VideoDetector::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) collect2: error: ld returned 1 exit status 我正在使用GCC 5.2.1

Unix fork()系统调用什么时候运行?

void child(int pid){ printf("Child PID:%d\n",pid); exit(0); } void parent(int pid){ printf("Parent PID:%d\n",pid); exit(0); } void init(){ printf("Init\n");//runs before the fork } int main(){ init();//only runs for parent ie runs once printf("pre fork()");// but this runs for both ie runs twice //why??? int pid = fork(); if(pid == 0){ child(pid); //run child process }else{ parent(pid);//run parent […]

PerlEmbed – C# – Mono – Linux

有没有人尝试在Mono Linux上使用perlembed? 这是链接: perlembed 这是我第一次尝试DllImport签名: private const string PERL_LIB = "/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so"; [DllImport(PERL_LIB, EntryPoint = "perl_alloc", SetLastError = true)] public static extern IntPtr Alloc(); [DllImport(PERL_LIB, EntryPoint = "perl_construct", SetLastError = true)] public static extern void Construct(IntPtr hPerl); [DllImport(PERL_LIB, EntryPoint = "perl_destruct", SetLastError = true)] public static extern void Destruct(IntPtr hPerl); [DllImport(PERL_LIB, EntryPoint = "perl_free", SetLastError = […]

gettimeofday函数线程在Linux中是否安全?

当前时间必须全局存储,以便gettimeofday工作,但是我不确定该函数是否修改任何全局状态,以便并发执行未定义。

Boost.Asio的可扩展性

我很好奇其他人推动Boost.Asio在可扩展性方面有多远。 我正在编写一个应用程序,可能会使用接近1000个套接字对象,一些接受器对象和许多计时器对象。 我已经configuration了它,以便有一个线程池调用io_service::run并在适当的地方使用strand s,以确保我的处理程序不会彼此跺脚。 我的平台是红帽企业Linux与升压1.39,但我不反对升级到一个更新的版本升压。