- 博客(9)
- 资源 (8)
- 收藏
- 关注
原创 Linux下math库函数编译时未定义的解决办法
在Ubuntu上做C语言程序练习时,用到了sqrt函数,尽管在源文件中已包含了math.h头文件,但在编译的时候总是提示sqrt未定义。后来在网上查阅了相关资料,得知:在Linux系统下,C源文件若调用了math库里的函数,则编译时要加上-lm(是字母l,不是数字1),表示链接到math库。例如编译调用了math库函数的C源文件foo.c,可以用如下命令对其进行编译:$gcc -o foo
2016-03-11 20:47:32 550
转载 对于Linux中errno使用的问题
最近在使用的过程中获得了errno,程序无法执行,也不知道如何解决问题。因此,理解每一个返回的errno整数值的含义是很重要的。。这个我们可以通过strerror函数来实现。。strerror(返回整数errno对应的错误原因的描述字符串)所需头文件: #include函数声明: char * strerror(int errnum);输入:
2016-03-11 20:45:47 1912
原创 预编译之__LINE__和__FILE__宏
在提示出错信息和进行错误处理方面,除了assert断言外,C标准还定义了2个宏:__LINE__和__FILE__。它们在许多执行出错的场合下都很有用处。例如,可以把它们和assert联用来更精确地定位导致assert失败的出错点。实际上,大多数assert实现都使用了__LINE__和__FILE__来完成它们的工作。下面举个例子来说明这两个宏的用处:
2016-03-10 21:39:56 1230
转载 C语言union关键字
union 关键字的用法与struct 的用法非常类似。union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下:{ char character; int number; char *str; double exp;
2016-03-07 16:43:14 627
原创 剖析浮点数在内存中的存储
C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是double在存储方式上都是遵从IEEE的规范的,float遵从的是IEEE R32.24 ,而d
2016-03-06 17:06:05 553
原创 一个例子了解static作用
static关键字在C语言中作用非常重要。因此在面试的时候,面试官也经常会拿这个来考被面者。我们用个例子来看看这个关键字的作用吧:#include static int j;void func1(void){ static int i = 0; i++; printf("i = %d\n", i);}void func2(void){ j = 0; j++; pr
2016-03-06 16:51:00 692
转载 Autoconf/Automake工具简介
在linux下编程的时候,有时候工程项目很大,文件比较多,此时需要使用自动创建Makefile文件功能。也就是使用Autoconf/Automake工具自动生成Makefile,为编译程序带来了方便,当前大多数软件包都是用此方法生成,Autoconf/Automake工具组主要包括autoconf,automake,perl,m4。Autoconfig/Automake工具使用实例一、首先
2016-03-04 22:06:42 463
转载 Ubuntu 14.04下为Virtualbox 4.3.20开启usb设备支持
众所周知,VirtualBox 使用宿主机的USB设备需要安装扩展包。根据自己的vbox的版本,到vbox官网下载对应的扩展包。可是在安装扩展包及勾选"启用USB控制器"及"2.0控制器"增加对USB2.0 的支持后,虚拟机中的USB依然无法检测,怎么回事呢?网上百度了一下,原来是vbox 所在的用户组比如要包括当前用户才行。1.查看当前用户名:llx@llx-linu
2016-03-01 21:06:53 1288
原创 修复 VirtualBox 下 Ubuntu 14.04 屏幕分辨率问题
最近用VirtualBox安装Ubuntu14.04Linux桌面系统之后,再安装增强包,屏幕分辨率一直还是640x480.在网上查了很多方法都试了,一直改不了分辨率。最后在开源中国社区看到一篇文章,照着他的方法试了一下,重启后成功改变了分辨率。 现在把方法贴出来给大家分享一下。解决办法:你需要安装一个 VirtualBox 的额外组件到你的 Ubuntu-Guest
2016-03-01 20:35:56 604
Autosar MCAL配置指导书
2022-05-21
Autosar software specification.7z
2019-06-22
MPC5607B(56xx)串口接收中断程序
2019-01-07
TLK3AK02指纹模块代码
2019-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人