Linux编程
文章平均质量分 79
kl222
这个作者很懒,什么都没留下…
展开
-
Log4Qt 使用
Log4Qt 使用原创 2022-09-30 15:36:16 · 1838 阅读 · 1 评论 -
玉兔远程控制
玉兔远程控制作者: 康林 kl222@126.com[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u0FKXQfH-1637302405927)(https://img.shields.io/github/stars/KangLin/RabbitRemoteControl)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7qShI5tB-1637302405931)(https://img.shields.io/github/forks原创 2021-11-19 14:14:37 · 2703 阅读 · 1 评论 -
git 错误操作恢复
前天辛苦用了一天时间,写完关键代码后。用 git 提交,由于修改的东东较多,用一个文件保存了修改的注释,用于 git commit -F commit.txt 。由于是在 windows 平台,所以这个文件是用的 gbk 编码。所以提交后,用 git log 查看日志时,出现乱码。此时就想用 git rebase -i HEAD~1 来修改注释。在选择命令时,用了 x ,进行命令行后,我直接 gi原创 2014-06-26 13:12:42 · 5804 阅读 · 1 评论 -
在x64位Linux上生成动态链接库必须使用编译选项-fPIC的问题
在 Linux 下制作动态链接库,“标准” 的做法是编译成位置无关代码(Position Independent Code,PIC),然后链接成一个动态链接库。经常遇到的一个问题是 -fPIC 是不是必需,因为好像不加经常也能正常运行,只是创建 .so 的时候会有一个警告。搜索、试验了一下,答案似乎是这样:(1) 通常的建议是始终加上 -fPIC 生成位置无关代码;(2) AMD6原创 2013-01-31 11:48:25 · 4661 阅读 · 0 评论 -
getaddrinfo()函数详解
1. 概述IPv4中使用gethostbyname()函数完成主机名到地址解析,这个函数仅仅支持IPv4,且不允许调用者指定所需地址类型的任何信息,返回的结构只包含了用于存储IPv4地址的空间。IPv6中引入了getaddrinfo()的新API,它是协议无关的,既可用于IPv4也可用于IPv6。getaddrinfo函数能够处理名字到地址以及服务到端口这两种转换,返回的是一个addrin原创 2014-02-19 11:27:13 · 4371 阅读 · 0 评论 -
QT中代码中与设计器中控件信号与SLOT连接
双击testqt.ui 托一个push button到窗体中,双击,可以输入字符 按F4或 menu->edit->edit signals/slots 定义SLOT 选择已定义好的SLOT,点确定就可以进行关联了。定义自定义SLOT:点上面对话框中的EDIT按钮,弹出: 注意这里自定义的slot必须是on__()原创 2012-07-12 10:16:27 · 5809 阅读 · 3 评论 -
eclipse 编译 spark
用mysql+openfire+spark搭建开源IM系统mysql是数据库,用于存储信息。openfire是XMPP协议服务器,实现了XMPP协议。编译方法详见:http://blog.csdn.net/kl222/article/details/7043130spark是客户端。spark功能:即时通信、会议(群功能)、桌面共享、文件传输。 eclipse 编译 s原创 2011-12-17 19:06:59 · 5917 阅读 · 1 评论 -
ACE中智能指针
ACE中智能指针康林(kl222@126.com) 1 智能指针ACE中有下列智能指针:ACE_Auto_Ptr、ACE_Auto_Array_Ptr、ACE_Refcounted_Auto_Ptr、ACE_Intrusive_Auto_Ptr、ACE_Strong_Bound_Ptr、ACE_Weak_Bound_Ptr1.1 ACE_Auto_Ptr原创 2012-06-13 14:36:18 · 3177 阅读 · 1 评论 -
cmake使用
【语法】 注释 # : #我是注释 命令语法 COMMAND: COMMAND(参数1 参数2 ...) 字符串列 A;B;C //分号分割或空格分隔的值 变量 set(Foo a b c) 原创 2012-12-05 10:26:02 · 20228 阅读 · 0 评论 -
linux下c/c++编译器和调试器以及静态库、动态库使用汇总
经常的,有朋友问到有关unix下面条是的技术。我整理了大多数的unix系统下面的常用的调试工具的调试技术的文章。希望对大家有所帮助。另外静态库、动态库也是问的频率比较高的问题。在这里也做了总结。######大多数unix系统下面的调试器的使用方法如下:######***************gdb介绍*********************GNU 的调试原创 2013-09-26 10:12:20 · 4592 阅读 · 0 评论 -
如何指定SO的搜索路径
使用LD_LIBRARY_PATH来指定SO的搜索路径 连接器还可以使用下面的搜索路径来定位需要的共享库: 1. 所有由"-rpath-link"选项指定的搜索路径. 2. 所有由"-rpath"指定的搜索路径. “-rpath"跟"-rpath_link"的不同之处在于,由"-rpath"指定的路径被包含在可执行文件中,并在运行时使用, 而"-rpath原创 2013-09-26 10:07:22 · 3015 阅读 · 0 评论 -
libnids使用
Libnids是一个用于网络入侵检测开发的专业编程接口,它使用了Libpcap所以它具有捕获数据包的功能。同时,Libnids提供了TCP数据流重组功能,所以对于分析基于TCP协议的各种协议Libnids都能胜任.Libnids还提供了对IP分片进行重组的功能,以及端口扫描检测和异常数据包检测功能。Libnids数据结构一.基本常量1.报警类型enum{NIDS_WARN_原创 2011-03-14 17:15:00 · 17743 阅读 · 9 评论 -
hadoop
http://download.csdn.net/detail/kl222/5219102 下载word文档1. hadoop概述hadoop包含两个部分:分布式文件系统(HDSF)和Map/Reduce。这两个部分都采用master/slave结构。 对于Hadoop的集群来讲,可以分成两大类角色:Master和Salve。一个HDFS集群是由一个NameNod原创 2012-11-07 22:23:44 · 10829 阅读 · 2 评论 -
CMake使用二——CMake使用向导
CMake使用向导康 林(译)2012-04-28 原文地址:http://www.cmake.org/cmake/help/cmake_tutorial.html这个向导的在源码目录Tests/Tutorial目录下。第一步:基本开始点 最简单的:生成一个可执行程序从一个源码文件编译一个可执行程序。例如: tutorial.cxx文件// A原创 2012-05-03 10:00:38 · 10592 阅读 · 0 评论 -
cmake使用一 —— cmake语法
cmake语法康 林(译)2012-04-28 Cmake是一个用于生成交叉平台编译工程的工具。它类似autoconf。它产生你所选择的编译环境的本地makefile和workspaces。 英文原文地址:http://www.cmake.org/cmake/help/syntax.html Cmake的输入是在源码目录下的CMakeLists.txt文件。这个文件原创 2012-04-28 11:26:37 · 21996 阅读 · 0 评论 -
CMake入门指南
CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,生成相应的Makefile或者vcproj项目。通过编写CMakeLists.txt,可以控制生成的Makefile,从而控制编译过程。CMake自动生成的Makefile不仅可以通过make命令构建项目生成目标文件,还支持安装(make install)、测试安装的程序是否能正确执行(make test,或者c原创 2013-03-02 19:55:35 · 3934 阅读 · 0 评论 -
ffmep教程二 —— ffmpeg环境搭建
1.1 源码下载用GIT从下面地址下载:git://source.ffmpeg.org/ffmpeg.git例如:在linux下:git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg1.2 依赖如果要编译ffplay,它依赖sdl库。安装SDL库:http://www.libsdl.org/原创 2012-08-01 14:18:53 · 8023 阅读 · 0 评论 -
理解 pkg-config 工具
你在 Unix 或 Linux 下开发过软件吗?写完一个程序,编译运行完全正常,在你本机上工作得好好的,你放到源代码管理系统中。然后,告诉你的同事说,你可以取下来用了。这时,你长长的出了一口气,几天的工作没有白费,多么清新的空气啊,你开始飘飘然了。“Hi,怎么编译不过去?”你还沉浸在那种美妙的感觉之中,双臂充满着力量,似乎没有什么问题能难倒你的。正在此时,那个笨蛋已经冲着你嚷开了。“不会吧转载 2012-12-17 10:17:04 · 3708 阅读 · 0 评论 -
编译libxml++
libxml2的C++封装库libxml++libxml++依赖libxml2和glibmm-2.4glibmm-2.4是GTK的C++接口。glibmm-2.4依赖libsigc++和GTK+(glib-2.0)glib包括:gthread、gobject、gmodule、gio模块glib依赖libffi libxml2:http://xmlsoft.org/l原创 2012-12-17 11:21:29 · 2882 阅读 · 3 评论 -
gcc使用c++库
在c语言程序中调用c++库。需要做以下两步工作:1、定义头文件时,要加上#ifdef __cplusplusextern "C"{#endif头文件内容#ifdef __cplusplus}#endif这个是表示在c++编译器编译时,生成的函数名使用c语言格式修饰符。2、在用gcc进行链接时,要加上 -lstdc+原创 2014-05-16 09:53:08 · 11608 阅读 · 0 评论 -
YUV420图像旋转90算法的优化
在做android摄像头捕获时,发现从android摄像头出来的原始视是逆时针旋转了90度的,所以需要把它顺时针旋转90。android视频支持的是NV21格式,它是一种YUV420的格式。我本想用开源的图像处理库(opencv)做旋转,但是opencv只能处理bmp的图像。这样的话,需要先把NV21转换成BMP32。然后再做旋转。所以要操作两次,效率肯定低。最后也没找到好的方法(如果你知道一原创 2014-04-25 14:37:32 · 16738 阅读 · 23 评论 -
编译libvpx
liunx下编译libvpx for android:k@k-C410:/home/libvpx$ LDFLAGS="--sysroot= " CROSS=arm-linux-androideabi- ./configure --target=armv7-android-gcc --prefix=/usr/local/android/ --disable-examples --disable原创 2014-04-07 13:59:11 · 24554 阅读 · 4 评论 -
ACE安装
ACE的安装文档请看源码根目录下的 ACE-INSTALL.html 文件。 用mpc产生适应你需要的编译配置。例如用automake编译bin/mwc.pl -type automake ACE.mwcUsing .../root/ACE_wrappers/bin/MakeProjectCreator/config/MPC.cfgCIAO_ROOT was used in the原创 2011-01-26 14:33:00 · 3814 阅读 · 0 评论 -
git命令
GIT子模块原创 2016-01-07 13:00:21 · 4099 阅读 · 0 评论 -
搭建turnserver
1.1.1 Turnserver1.1.1.1 官网:http://turnserver.sourceforge.net/1.1.1.2 支持协议:TURN and STUN Request For Comments (respectively RFC 5766 and RFC5389)。RFC6156 namely TURN-IPV6 (relay between IPv4-IPv原创 2014-02-28 16:48:55 · 26833 阅读 · 1 评论 -
搭建开源IM系统
用mysql+openfire+spark搭建开源IM系统mysql是数据库,用于存储信息。openfire是XMPP协议服务器,实现了XMPP协议。spark是客户端。编译方法详见:http://blog.csdn.net/kl222/article/details/7080471 环境:root@ubuntu:~# uname -aLinux ubuntu 3.0.原创 2011-12-13 18:45:33 · 9260 阅读 · 1 评论 -
交叉编译时,禁止pkg-config搜索默认目录
pkg-config 搜索PKG_CONFIG_PATH,再搜索默认路径(/usr/lib/pkgconfig)。当在交叉编译时,不需要它搜索默认路径,以防止它链接到宿主机上的库。设置下面变量,指定到交叉工具链的sysroot/lib/pkgconfigexportPKG_CONFIG_LIBDIR=${sysroot}/lib/pkgconfig原创 2015-11-07 20:43:06 · 5765 阅读 · 0 评论 -
libnice编译
ubuntu:依赖库:sudo apt-get install libglib2.0-dev原创 2015-04-26 09:53:29 · 4766 阅读 · 0 评论 -
opencv编译
opencv 编译原创 2014-05-28 11:51:59 · 5600 阅读 · 1 评论 -
linux-gcc 编译时头文件和库文件搜索路径
一、头文件 gcc 在编译时寻找所需要的头文件 : ※搜寻会从-I开始 ※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH ※再找内定目录/usr/include /usr/local/include/usr/lib/gcc-lib/i386-linux/2.原创 2015-03-07 11:18:36 · 4729 阅读 · 0 评论 -
libcurl编译
下载:git://github.com/bagder/curl.gitopenssl:openssl编译原创 2014-12-12 19:37:13 · 5989 阅读 · 0 评论 -
linux服务器设置(双网卡共享上网)
一、网络拓补结构:服务器:两网卡的设置:eth0:202.96.168.100 掩码:255.255.255.0 网关:202.96.168.68 #与 Internet 相联eth1:192.168.1.1 掩码:255.255.255.0 #与局域网相联客户机子网段:192.168.1.0/255二、服务器设置:2.1、用NAT方法在服务器原创 2006-06-07 17:38:00 · 4666 阅读 · 0 评论 -
qutIm编译
原文地址:http://wiki.qutim.org/en/building_from_git得到代码:git clone git://gitorious.org/qutim/qutim-meta.gitcd qutim-metagit submodule update --init --recursive生成工程:cd ..mkdir buildc翻译 2014-03-10 15:12:12 · 3929 阅读 · 0 评论 -
qtcreator增加doxygen注释
1,在以下网址找到和你的qt creator版本相对应的插件文件,还要注意系统版本http://dev.kofee.org/projects/qtcreator-doxygen/files2,根据以上要求,我下载的是qtcreator-doxygen-0.3.8-qtcreator-3.0.x-linux-x86_64.tar.gz,将其解压后的到一个Kofee的文件夹,将该文原创 2014-09-16 15:20:43 · 6605 阅读 · 0 评论 -
应用 Valgrind 发现 Linux 程序的内存问题
应用 Valgrind 发现 Linux 程序的内存问题 如何定位应用程序开发中的内存问题,一直是 inux 应用程序开发中的瓶颈所在。有一款非常优秀的 linux 下开源的内存问题检测工具:valgrind,能够极大的帮助你解决上述问题。掌握 valgrind 的使用以及工作原理,能够有效地定位进而避免应用开发中的内存问题。5评论:杨 经 (cdlyangj@转载 2014-11-07 11:48:46 · 8402 阅读 · 0 评论 -
监控 Linux 性能的 18 个命令行工具
对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作。在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易。基于此原因,我们已编写了最常使用的18个命令行工具列表,这些工具将有助于每个Linux/Unix 系统管理员的工作。这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因。这个命令行工具列转载 2014-06-15 10:59:47 · 4360 阅读 · 0 评论 -
git 设置
1.使用 git add 命令添加文件名含中文字符的文件时乱码类似:view sourceprint?1\316\304\261\276\316\304\265\265.txt解决方案:编辑C:\Git\etc\inputrc文件中对应的行, 查找以下2行,并修改其值, 原先:view so原创 2014-06-21 08:43:05 · 9423 阅读 · 0 评论 -
linux进程
http://www.kuqin.com/article/23candcplusplus/136383.html http://hi.baidu.com/laoda9520/item/4cef59d4611625be33db9085原创 2012-12-06 17:20:05 · 3577 阅读 · 0 评论 -
ACE消息队列
1 消息队列ACE消息队列由三个部分组成:消息队列(ACE_Message_Queue)、消息块(ACE_Message_Block)、数据块(ACE_Data_Block) 1.1 ACE_Data_Block:通过计数器来决定数据块释放时是否被删除。只有计数器为0时,对象才会被删除。1.1.1 构造函数:ACE_Data_Block (size_tsi原创 2012-11-07 22:03:21 · 5280 阅读 · 0 评论 -
linux下线程同步
概要: 线程的同步, 发生在多个线程共享相同内存的时候, 这时要保证每个线程在每个时刻看到的共享数据是一致的. 如果每个线程使用的变量都是其他线程不会使用的(read & write), 或者变量是只读的, 就不存在一致性问题. 但是, 如果两个或两个以上的线程可以read/write一个变量时, 就需要对线程进行同步, 以确保它们在访问该变量时, 不会得到无效的值, 同时也可以唯一地修改该原创 2012-09-19 20:59:44 · 3796 阅读 · 0 评论