linux
文章平均质量分 66
RoadingAnt
慢慢耕耘的工程师
展开
-
cmake学习之基本使用步骤
1、基本步骤可以参看如下帖子cmake学习总结(二) - 知乎 (zhihu.com)2、常用变量3、常用函数cmake_minimum_required设置对cmake的版本要求setconfigure_fileinclude_directories添加头文件目录link_directories添加需要链接的库文件目录projectadd_subdirectory设置子目录,只有设置子目录,cmak...原创 2021-10-12 19:30:50 · 201 阅读 · 0 评论 -
cmake学习之使用strip减少动态库的大小
1、方法1CMakeLists.txt增加如下代码(假定工程名为hello,动态库名为libsub.so)set(CMAKE_STRIP "strip")project(hello)……add_subdirectory(sub)……target_link_libraries( ${PROJECT_NAME} sub)add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${..原创 2021-10-12 18:02:55 · 6771 阅读 · 0 评论 -
cmake学习之编译glib-2.0
1、CMakeLists.txt内容如下cmake_minimum_required (VERSION 2.8)set(CMAKE_C_COMPILER gcc)#find_package(PkgConfig)pkg_search_module(GLIB REQUIRED glib-2.0)MESSAGE(STATUS "glib-2.0 dirs:" ${GLIB_INCLUDE_DIRS})MESSAGE(STATUS "glib-2.0 lib:" ${GLIB_LIBRARI..原创 2021-10-07 18:41:12 · 1447 阅读 · 0 评论 -
linux编程学习之epoll使用
对应头文件#include <sys/epoll.h>各主要函数如下1、int epoll_create(int size);创建epoll句柄(也即描述符),size参数只是告诉内核这个 epoll对象会处理的事件大致数目,而不是能够处理的事件的最大个数。从linux2.6.8版本开始,这个 size参数已经没有任意义,只要取值大于0就行如果执行成功,则返回非负的句柄如果执行失败,则返回-1,并置位errno,2、int epoll_ctl(int ..原创 2021-09-28 12:12:04 · 150 阅读 · 0 评论 -
嵌入式linux学习之移植lighttpd
LigHttpd是一个开源轻量级嵌入式Web server,是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd 适合静态资源类的服务,比如图片、资源文件、静态HTML等等的应用,性能应该比较好,同时也适合简单的CGI应用的场合,lighttpd可以很方便的通过fastcgi支持php。1、pcre编译与安装源码下载https://sourceforge.net/pr原创 2021-08-22 20:57:15 · 787 阅读 · 0 评论 -
嵌入式linux系统移植alsa-lib
目录嵌入式linux的系统配置1、入式linux的系统配置主板类型为arm,交叉编译器为gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf,交叉编译器的路径为:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf ,工作pc为ubuntu环境2、下载源码https://www.alsa-project.org/wiki/Main_Pag...原创 2021-08-14 14:56:31 · 737 阅读 · 0 评论 -
嵌入式linux学习之移植libevent库到目标SDK
https://libevent.org/下载最新的source code编译安装方法 编译安装 1.在libevent官网(http://libevent.org/)上下载压缩包(我下载的是libevent-2.1.8-stable.tar.gz)2.解压压缩包:tar-zxvflibevent-2.1.8-stable.tzr.gz3.进入新生成的目录中:cdlibevent-2.1.8-stable4.配置安装库的目标路径:./confi...原创 2021-07-14 19:51:27 · 350 阅读 · 0 评论 -
嵌入式linux学习之shell 操作例程
1、替换字符串为指定文件sed-i-e'/para1/{rfile2'-e'd}'file1将file1中的字符串para1,替换为file2的内容,2、在指定字符串前插入字符sed-i'/para1/ipara2\\' file在文件file的para1之前插入para2...原创 2021-05-14 15:07:33 · 148 阅读 · 0 评论 -
linux使用epoll机制实现timer
#include <sys/timerfd.h> #include <sys/epoll.h>#include <unistd.h>#include <stdint.h>#include <stdio.h>const int EPOLL_SIZE = 10;int test_timer_main(int argc, const char *argv[]){ int tfd, epfd, nfds; stru...原创 2021-05-09 20:59:13 · 288 阅读 · 0 评论 -
linux 的epoll机制
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,linux/posix_types.h头文件有这样的声明:#define__FD_SETSIZE1024表示select最多同时监听1024个fd,当然,可以通过修改头文件再重编译内核来...原创 2021-05-09 20:56:55 · 74 阅读 · 0 评论 -
ubuntu FAQ
1.Could not get lock /var/lib/apt/lists/lock在更换软件源时遇到了如下问题:sudo apt-get updateE: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)E: Unable to lock directory /var/lib/apt/lists/表明当前有某个进程正在apt-get,需要kill掉原创 2020-09-12 17:03:00 · 99 阅读 · 0 评论 -
转zz:cfg80211的kernel架构(基于Linux 3.08)之sta
cfg802.11的kernel转载 2015-03-27 10:43:21 · 499 阅读 · 0 评论 -
linux架构
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 我以下图为基础,说明Linux的架构(architecture)。(该图参考《Advanced Programming in Unix Environment》) 最内层是硬件,最外层是用户常用的应用,比如说firefox浏览器,转载 2015-03-27 14:35:44 · 293 阅读 · 0 评论