• 好好学习,天天向上~
  • 欢迎欢迎~

 分类:linux笔记

linux c语言多线程编程怎么传递参数?创建线程后立刻返回,出现段错误(Segmentation fault)的原因和解决办法

linux 下 c 语言编程,使用多线程是方便的。有时候,我们需要函数创建线程后立刻返回,线程继续在后台运行。可是,却很容易出现段错误(Segmentation fault),请看下面这段代码: #include <stdio.h> #include <pth...

lcc 3个月前 (10-23) 185℃ 0评论 3

linux c语言编程,使用setjmp和longjmp函数自制类似python的try-catch模块捕获异常,建立栈数据结构,实现多级嵌套使用(2)

上一节的代码,虽然成功的用 C 语言模拟了 python 的 try 功能,但是因为使用全局变量保存现场信息(env),所以有两个致命问题: 覆盖了原有的信号处理函数。 信号处理函数不能传递参数,因此只能使用全局变量,但是这样一来,模拟 try 功能就不能支持嵌套使用了。 ...

lcc 3个月前 (10-23) 143℃ 0评论 2

linux c语言编程,使用setjmp和longjmp函数自制类似python的try-catch模块捕获异常,处理段错误,浮点错误等信号错误(1)

程序的非逻辑错误 程序出错大体可以分两种,一种是出错时,程序不会退出,可以继续往下执行,例如 open 文件失败,也只是无法打开文件而已,程序还可以执行我们设定的错误处理语句,比如打印出错误信息等。还有一种错误发生时,程序直接就退出了,例如非法操作指针引起的段错误,把 0 做被除...

lcc 3个月前 (10-21) 167℃ 0评论 2

linux多cpu编程,为线程指定cpu,sched_setaffinity和sched_getaffinity的详解与使用,使用time命令得到程序执行时间

查看 linux 主机的 cpu 信息 在linux主机下执行lscpu命令,可以得到如下结果: $ lscpu | grep -i 'core.*:|socket' Thread(s) per core: 2 Core(s) per socket: 2 Socket...

lcc 3个月前 (10-11) 271℃ 0评论 0

C语言const的使用,const修饰指针时,const char*,char const*和char* const有什么区别?

c语言的const关键字用于声明(定义)只读变量,可用于保护某些变量的内容在使用中不会被更改。const关键字使用非常简单,在类型声明符前,或者后都是可以的,二者是等价的。例如下面这个 demo: #include <stdio.h> int main() { ...

lcc 4个月前 (09-27) 212℃ 0评论 1

linux C语言编程,使用realloc函数后,原内容数据还在吗?原指针还能用吗?原内存被释放吗?

在回答题目中的问题之前,先man一下realloc函数: realloc 函数所在头文件 stdlib.h realloc 函数原型 void *realloc(void *ptr, size_t size); realloc 函数说明 该函数将 ptr 指向的内存大小修...

lcc 4个月前 (09-17) 316℃ 0评论 4

linux 程序运行时,提示找不到 xx.so.x,如何查询linux程序需要哪些库,linux链接库的添加方法

问题原因查找 今天打算再linux中运行 test.out 程序时,提示 # ./test.out ./test.out: can't load library 'libfreetype.so.6' 出现这种提示有两种可能,一是确实没有这个库,再就是有这个库,但是运行程序时...

lcc 6个月前 (08-06) 203℃ 0评论 2