linux开发之心得体会整理
文章平均质量分 75
ShaYQ
这个作者很懒,什么都没留下…
展开
-
【2023-03-04】QProcess启动进程后继承父进程fd导致的现场问题
在Linux系统上,父进程创建子进程时需要注意资源的继承,本场景中,socket文件描述符就是其中一个。原创 2023-03-04 23:04:45 · 767 阅读 · 0 评论 -
Linux下QProcess不产生finished信号、waitforfinished阻塞超时【defunct进程】
项目场景:涉及Linux下的多进程编程,比较让人绕晕。初步以为,是由于在子进程中,又创建了子进程,导致的最后创建的子进程异常。问题描述使用fork函数,创建子进程A;A主要 调用execvp函数拉起QT主程序B;主程序B中调用QProcess::start函数调用进程C(ffmpeg的命令);B中connect进程C的finished信号,或者waitforfinished均失败;异常有:1. finished信号不触发; 2. ffmpeg转码明明结束了,进程却不推出; 3.原创 2022-04-28 22:25:56 · 3746 阅读 · 0 评论 -
Failed to execute /linuxrc. Attempting defaults.....解决方法
最近在做文件系统的时候碰到这样一个问题,我的开发环境:mini2440开发板 ubuntu 10.04在linux下做好文件系统后,使用命令mkyaffs2image后生成了.img文件,通过dnw下载进板子后,进行启动,报错了,启动不了Failed to execute /linuxrc. Attempting defaults...Kernel panic - not syn原创 2013-09-02 23:25:08 · 3166 阅读 · 0 评论 -
C语言中注释掉代码的“第三招”及制造死循环方法
今天突然想起来两个小问题,所以拿来与大家一起分享。 1.C语言中常见的注释掉代码的方法,大家熟悉的可能就是“//”注释掉行,“/* */”注释掉段,其实还有一种方法,采用预编译的方法。 举个例子: #include int main() { printf("hello word!\n");原创 2013-07-16 20:22:56 · 2100 阅读 · 0 评论 -
gcc编译器的常见基本选项
首先,Gcc,全称是GNU Compiler Collection,它是一套由GNU开发的编程语言编译器。它是linux平台下最常用的的编译器,下面我对gcc编译器的一些常见应用进行说明和介绍。 通常的,一个C源程序要生成可执行文件,需要经过预处理,编译,汇编,链接步骤,然后生成可执行程序文件。 预处理是是在真正的编译开始之前执行的,以“#”开头的都是预处理,在预处理阶段可以完成的有:原创 2013-07-16 20:04:17 · 1669 阅读 · 0 评论 -
段错误和总线错误小结
1.段错误:segmetation fault(core dumped)段错误相信大家都已很熟悉了,今天来对他小结一下。‘个人总结的常见的段错误的出现原因有:(1)使用了非法的内存地址或指针。包括使用了没有初始化的已经释放的指针,不存在的地址和访问受限的地址等。(2)内存的读写越界。比如在一些向内存中的写数据的函数中长度指定不正确就会发生此类错误。(3)函数返回了局部对象的原创 2013-09-13 20:18:34 · 928 阅读 · 0 评论 -
进程间通信(个人总结)
对于进程间通信(interprocess communication )的几种机制,我在前面都是零散的归纳,并且写出了每种机制的使用方法,但是没有系统的进行过归类。最近在一位学长的推荐下,通过阅读外文资料,脑海里对于这方面的知识真是清晰了许多,我觉得有必要跟大家分享一下。1.首先对于进程间通信工具的分类:unix下的通信和同步工具,按照功能上划分,大致分为以下几类:(1)通信类:这些工原创 2013-09-23 22:23:59 · 609 阅读 · 0 评论 -
char *p和char p[]的问题
这个问题,平常也经常碰到,今天写程序的时候又遇到,还是应该总结一下。先贴代码:1 #include 2 char * mystrcpy(char *dest,const char *src) 3 { 4 if(dest == NULL || src==NULL) 5 { 6 printf("invalid\n"); 7原创 2013-10-19 22:02:48 · 1142 阅读 · 1 评论