现在位置: 首页 > linux编程
1、静态库和动态库的区别 (1)所谓静态库(*.a),就是程序link的时候就把静态库中的东西取出来,放到生成的可执行文件中,当这个可执行文件执行时,就不需要再次调用这个静态库了。 (2)所谓动态库(*.so),就是程序link的时候,只是将库中的 符号包含,并没有包含静态库里的内容,等到可执行程序在执行 时,需要依赖动态库中的内容,也就是“随用随取”。 (3)在linux编程中,对于静态库和动态库,在makefile中引用方式一模...
阅读全文
2018-12-29 20:55 工业·编程 ⁄ 共 548字 暂无评论
由于在linux中,内核空间和用户空间的内存是不能之间互相访问的,所以需要借助上面2个函数完成数据传输。    copy_to_user:从内核空间复制数据到用户空间    copy_from_user:从用户空间复制数据到内核空间。 在进行驱动相关程序设计时,经常会用到这两个函数,因为底层驱动显然是内核空间,调用驱动的是用户空间。 具体函数模型解释如下: unsigned long copy_to_user(void __user *to, const void *from, u...
阅读全文
2018-11-20 17:18 工业·编程 ⁄ 共 372字 暂无评论
在开始学习嵌入式Linux的时,由于Linux是一种全新的操作系统,跟我们曾经熟悉的Windows的学习思路完全不同,所以在学习的过程中看不到目的,不知道从何开始,不知道为什么学,不知道学什么,所以总结一下嵌入式Linux开发流程,举例,现在手上有一块开发板,那么我们应该怎么进行嵌入式Linux开发呢,流程如下: 1.移植bootloader,如u-boot,vivi等。 2.裁剪Linux。 3.移植Linux。 4.制作根文件系统。 5.移植文件系统。 6.开发LC...
阅读全文
一、 在Windows下比较流行的GCC移植版主要有三个。他们是 MinGW,Cygwin和Djgpp。 1.MinGW 的主要方向是让GCC的Windows移植版能使用Win32API来编程。 (使用Win32API的代码可用MinGW的gcc编译,有点像用Linux开发环境开发Windows程序     如果你只是想在windows下使用gcc编译器也不想依赖其他的dll,mingw是很好的一个选择。 ) 2.Cygwin 的目标是能让Unix下的程序代码在Windows下直接被编译。 (模拟Linux环...
阅读全文
2016-07-27 22:00 工业·编程 ⁄ 共 7926字 暂无评论
1.查看文件大小 查看当前文件夹下所有文件大小(包括子文件夹)    du -sh # du -h 15M     ./package 16K     ./.fontconfig 4.0K    ./.cache 5.1M    ./.rpmdb 20M     . 查看指定文件夹下所有文件大小(包括子文件夹) # du -h ftp 3.8G    ftp/sanya/doc 3.8G    ftp/sanya 4.0K...
阅读全文
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。可以参考《Linux程序设计》(英文原版为《Beginning Linux Programming》,作者是Neil Matthew和Richard Stones)第三章: Working with files。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思。面向的是硬件。而库函数调用则面向的是应用开发的,相当于应用程序的api,采用这样的方式有很多种原因,第...
阅读全文
最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误: (.text+0x13): undefined reference to `func'     关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。 1.  链接时缺失了相关目标文件(.o) 测试代码如下:     然后编译。 gcc -c test.c ...
阅读全文
2016-06-01 20:21 工业·编程 ⁄ 共 122字 暂无评论
1)到https://www.foxitsoftware.com/products/pdf-reader/下载; 2)tar -xvf  解压缩,得到到的是.run文件; 3)chmod +x  该文件; 4)./该文件,跳出安装界面,一步步到安装下去即可。
阅读全文
2016-05-31 20:12 工业·编程 ⁄ 共 1253字 暂无评论
tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 下面的参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后...
阅读全文
2016-05-29 19:57 工业·编程 ⁄ 共 1088字 暂无评论
Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号等等,整个CPU信息一目了然。   1、# uname -a   (Linux查看版本当前操作系统内核信息)   Linux localhost.localdomain 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 athlon i386 GNU/Linux   2、# cat /proc/version (Linux查看当前操作系统版本信息)       Linux version 2.4.20-8 (bhcompile@porky.devel.redhat.com)       (gc...
阅读全文