Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Linux下用gcc编译使用了math库函数的程序出错的解决

Linux下用gcc编译使用了math库函数的程序出错的解决

症状: 在c程序中用到math库函数时,编译成obj后,再生成执行文件时,会遇到类似下面的错误: /tmp/ccalvMPY.o: In function `main": /tmp/ccalvMPY.o(.text+0x40): undefined reference to `pow" 原因: 因为linux中, pow 函数定义在 libm.so中,不像一般DevC++或TC是放在C语言的/lib下,所以。C无法在连接时,找到相对应的库来连接。...
Linux系统下的多线程编程-条件变量&信号量

Linux系统下的多线程编程-条件变量&信号量

条件变量 使用互斥锁来实现线程间数据的共享和通信,互斥锁一个明显的缺点是它只有两种状态:锁定和非锁定。而条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足,它常和互斥锁一起使用。使用时,条件变量被用来阻塞一个线程,当条件不满足时,线程往往解开相应的互斥锁并等待条件发生变化。一旦其它的某个线程改变了条件变量,它将通知相应的条件变量唤醒一个或多个正被此条件变量阻塞的线程。这些线程将重新锁定互斥锁并重新测试条件是否满足。一般说来,条件变...
Linux开发环境

Linux开发环境

编程库头文件汇编器分析器编译器链接器调试器文本编辑器编程工具内核源代码文件和头文件 /usr/src/linuxC的开发库 glibc源代码调试器 gdb (GNU Debugger), kdbg, ddd, xdgbindent 能够按照许多预先定义好的或者自定义的标准调整源代码以及代码缩进的格式以达到所需的风格。tags程序 (在emacs上对应etages) 生成的文件能够增强编辑器浏览和分析源代码的能力。lclint 快速语法检查,找出大量问题,包...
Fedora Core服务器调试手记

Fedora Core服务器调试手记

我想大家有不少都成功实现apache+php+mysql,网上的文章也有不少,但我发现不少文章都是抄来抄去,并且没有说明白编译的方式,有的索性apache1.3的编译方法原封不动的搬过来套在apache2.0,显然误导一些菜鸟。我今天就以apache+mysql+php说一下静态编译和DSO动态编译的区别,我会分别拿apache1.3.27和apache2.0.46 说明,因为两个版本的编译命令是有所区别的。 系统和所需软件: RedHat9.0 apac...
嵌入式Linux综合知识

嵌入式Linux综合知识

Tomlinux 嵌入式Linux文档、资源及下载,提供免费版本的嵌入式Linux系统。 Linuxforum Linux技术交流与提问,有什么问题去那里发问,肯定会有所帮助。 Freshmeat 有许多Linux项目资源,内容丰富,版本最新还可发布自己的项目。 Sourceforge 最著的名源码下载网站,内容丰富,版本最新还可发布自己的项目。 GNU 查阅各种标准,下载GNU软件。 Kernel 下载最新内核及查阅Linux内核的最新动向。 Turbo...
Linux系统处理laptop hotkeys的方式

Linux系统处理laptop hotkeys的方式

我这几天的学习,要想让笔记本上的hotkey完全能够正常工作,要许多方面一起协同才行。 1,硬件厂商在bios中对linux的支持程度。我的机器在启动后,用dmesg| grep -i acpi,就会发现在load acpi 的时候有两三个错误。我想这会导致一些hotkey在系统中,用那些acpi_listen或者xev抓不到按键,即没有输出相应的 keycode。这需要修改dsdt了。硬件厂商不支持,只能做一些hacking的工作,搞过嵌入式驱动开发...
Linux下共享库(SO)有关的几个环境变量

Linux下共享库(SO)有关的几个环境变量

Linux支持共享库已经有悠久的历史了,不再是什么新概念了。大家都知道如何编译、连接以及动态加载(dlopen/dlsym/dlclose) 共享库。但是,可能很多人,甚至包括一些高手,对共享库相关的一些环境变量认识模糊。当然,不知道这些环境变量,也可以用共享库,但是,若知道它们,可能就会用得更好。下面介绍一些常用的环境变量,希望对家有所帮助: LD_LIBRARY_PATH 这个环境变量是大家最为熟悉的,它告诉loader:在哪些目录中可以找到共享库。可...
在ARM-Linux平台上移植SQLite

在ARM-Linux平台上移植SQLite

1、软硬件平台本文中采用的硬件平台为Sitsang嵌入式评估板。Sitsang评估板的核心是PXA255嵌入式处理器。底层软件系统是以ARM-Linux内核为基础的。要将SQLite3移植到Sitsang评估板上,除了要有底层操作系统的支持外,还必须要有相应的交叉编译工具链。由于Sitsang评估板采用的是ARM-Linux作为底层操作系统,因此需要首先安装ARM-Linux工具链。关于ARM-Linux工具链的安装可以参阅文献[4]。ARM-Linux工...
Linux 有关运行中的进程的信息

Linux 有关运行中的进程的信息

/proc 文件系统可以用于获取运行中的进程的信息。在 /proc 中有一些编号的子目录。每个编号的目录对应一个进程 id (PID)。这样,每一个运行中的进程 /proc 中都有一个用它的 PID 命名的目录。这些子目录中包含可以提供有关进程的状态和环境的重要细节信息的文件。让我们试着查找一个运行中的进程。 $ ps -aef | grep mozillaroot 32558 32425 8 22:53 pts/1 00:01:23 /usr/bin/m...
深入学习嵌入式Linux编程

深入学习嵌入式Linux编程

其实从很早我就想深入学习Linux,但时间有限,并且Linux门槛挺高,不是很容易上手。最近由于隧道项目中用到嵌入式Linux(Arm CPU上的Linux),并且提供硬件的单位针对Linux的编程收费很高,并且时间很长,所以犹豫再三,决定开始深入学习Linux,并在学习过程中完成预定的任务。 没有想到,在嵌入式Linux上运行一个最简单的“Hello Liunx”程序就费了很大的周折,不过功夫不负有心人,经过几天的艰难跋涉,总算成功了,下面我把我的历程...
C语言程序静态库与动态库的创建及其应用

C语言程序静态库与动态库的创建及其应用

在用c写程序时,很多时候需要存储一些简单的数据,如果为此而用mysql数据库就有些大才小用了,可以把这些数据以结构的形写入文件,然后再需要时读取文件,取出数据。 如下是定义函数的源文件和头文件: 源文件struct.c: 源文件struct.c: #include "struct.h"//第一个参数是要写入的文件名,第二个参数是缓冲区,第三个参数是缓冲区大小,第四个参数是打开文件流的形态,返回TRUE表示写入成功,返回FALSE表示写入失败int writ...
C++未来会是怎样

C++未来会是怎样

在7月15日-20日,标准委员会在Toronto开了一次会,IBM做的东。从会后的文档来看,除了把一些已经基本成熟的提案加入草案,进一步明确了打算C++0x的新特性,以及留到再下一版本的C++标准的提案。从中我们可以清晰地看到C++未来,以及未来的未来的发展趋势。文档“State of C++ Evolution”(http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2007/n2336.html)包含了最...
<< 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 >>