- 博客(77)
- 资源 (36)
- 问答 (4)
- 收藏
- 关注
原创 linux 多线程编程--线程的创建
线程概念典型的UNIX进程可以看作只有一个控制线程:一个进程在某一个时刻只做一件事情。有了多个线程后,在程序中可以时线程处理各自独立的任务,这样做的好处有许多。 1. 简化处理异步事件的代码; 2. 线程比进程更方便做数据共享; 3. 可以提高程序的吞吐量; 4. 方便改善程序响应时间每个线程都包含有表示执行环境所必需的信息,其中包括进程中标识线程的线程ID、一组寄存器值、栈、调度...
2018-05-22 22:41:07 246
原创 APUE 习题3-2 实现dup2,要求不使用fcntl函数。
int mydup2(int oldfd, int newfd){ int tfd = 0; if (newfd { err_sys("newfd } if (newfd == oldfd) { return oldfd; }
2016-08-03 14:34:28 447
原创 解决Native atomics support not found问题
今天用arm-none-linux-gnueabi交叉编译libmysqclient.so,出现Native atomics support not found问题进入mysql-connector-c-6.16-src的include/my_atomic.h,里面有#if defined(_MSC_VER)# include "atomic/generic-msvc.h"#el
2016-07-22 19:31:14 2285
原创 解决UDT中内存下不去的问题
使用UDT库,编写简单的网络通信程序,发现了一个问题,关闭一部分连接后,程序占用内存并没有变化。 比如先连接500个,再连接另500个,先关掉后面500个,程序占用内存降一半,再关掉500个,程序占用内存降到0.1。然而,如果先关掉前面500个,程序占用内存不会发生变化,只有等再关掉后面500个,程序内存才会降到0.1。 换个顺序就降不了,这很奇怪,很“玄学”。
2016-07-19 17:19:29 611
原创 C语言调用curl库抓取网页图片
思路是先用curl抓取网页源码,然后以关键字寻找出图片网址。#include #include #include #include void get_key_from_str(char *origin, char *str1, char *str2, char *key);int main(int argc, char **argv){
2016-07-18 19:41:53 2313 1
原创 解决undefined reference to `__poll_chk@GLIBC_2.16'
出现这个错误,是系统的glibc版本太低了,需要更新到http://ftp.gnu.org/gnu/glibc/下载新版本的glibc,也不用太高,我选择glibc-2.20.tar.gz 解压完毕后./congigure --prefix=/opt/glibc-2.20make && make install 在出现 undefined r
2016-07-15 10:27:55 3046
原创 交叉编译总结 libosscore.a libcurl.a libmysqlclient.a
把工程文件交叉编译到arm上运行,着实花费了一番功夫。首先遇到的错误是 X uses VFP register arguments, B does not百度了一下,发现是硬浮点和软浮点的问题,原先是思路是改变X的编码方式,迁就于Y,后来怎么弄都不行,改变思路,用armv7-linux的编译器重新编几个库。1.libosscore.a下载OSS-master.zip这个
2016-07-13 14:37:11 1343
原创 linux批量删除进程
在虚拟机用脚本跑了几十个client程序用来测试服务器,然后发现参数设置错误,得重来,就傻眼了,不知道怎么关这么多client进程,总不能一个一个关。还好,学习一下,想出了以下的命令。 ps -ef|grep client|grep -v grep|cut -c 9-15|xargs kill -9 很快就批量删掉了client进程 |:管道,左边的
2016-05-04 13:05:18 7205
原创 linux cpu居高不下 调试
今天调试程序,使用top命令后,发现程序的cpu占有率很高,一直在99,这很可怕,所以来调试。使用top命令,得如下结果PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1997 root 20 0 358m 71m 3208 S 99.1 7.2 81:53.50 test1 root 20 0 24332 204
2016-04-22 17:57:31 1840
原创 shell mysql命令 传参数
难点主要在参数的传递方式吧,不过查资料后发现很简单。1.使用-e参数传递命令,适用于简单语句 mysql -uuser -ppasswd -e "create database dbtest;"2.使用EOF传递复杂语句 mysql -uuser -ppasswd create database dbtest; us
2016-04-15 16:18:36 2315
原创 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'解决
安装上mysql后,报 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock',试了网上的方法都没有用,于是打开/etc/my.cnf查看。看到这么一段:# The MySQL server 26 [mysqld] 27 port = 3306
2016-03-17 15:06:10 2236 2
原创 ubuntu下apache2 安装 配置 卸载 CGI设置 SSL设置
一、安装、卸载apache2 apache2可直接用命令安装 sudo apt-get install apache2 卸载比较麻烦,必须卸干净,否则会影响apache2再安装 (1) sudo apt-get --purge remove apache2 sudo apt-get --purg
2016-02-02 20:55:00 792
原创 添加自定义MIB的三种方法
我所知道的添加自定义MIB的方法有三种1.静态加载,将生成的.c和.h文件加入到相应的位置,重新编译snmp库,优点是不需要修改配置文件,缺点是每次添加都得重新编译;2.动态加载,将生成的.c和.h文件再编译成.so库,修改snmpd.conf配置文件。优点是每次添加不需要重新编译,缺点是必须支持dlmod命令;3.子代理扩展,将生成的.c和.h文件编译成可执行程序,运行该程序
2016-01-22 20:26:14 15274
转载 samba服务器的安装
转自 http://blog.csdn.net/a921800467b/article/details/8274611参考了http://www.linuxidc.com/Linux/2011-07/38996.htm http://blog.163.com/coffee_666666/blog/static/1846911142012527114
2015-09-16 09:20:21 444
转载 CMake交叉编译
如果你的英文比较好,那么可以看这里:http://www.cmake.org/Wiki/CMake_Cross_Compiling,这是CMake官方网站上一篇介绍如何交叉编译的文章,我也是主要参考这篇文章完成了我的交叉编译。但是我的交叉编译过程不是翻译它的,是根据我自己交叉编译的过程,从了解CMake到完成交叉编译写的,容易入门,不涉及深入研究。 转载请注明原出处: http://hi
2015-09-08 19:39:26 706
原创 交叉编译libcurl
下载curl-7.44.0,解压并进入目录。 ./configure --prefix=$HOME/develop/crosstool-ng/x-tools/armxscalecurl --build=i686-pc-cygwin --host=arm-linux CC=arm-xscale-linux-gnueabi-gcc --enable-staticmake make inst
2015-09-08 11:26:48 5775
转载 ./configure -build,-host,-target设置
build:执行代码编译的主机,正常的话就是你的主机系统。这个参数一般由config.guess来猜就可以。当然自己指定也可以。host:编译出来的二进制程序所执行的主机,因为绝大多数是如果本机编译,本机执行。所以这个值就等于build。只有交叉编译的时候(也就是本机编译,其他系统机器执行)才会build和host不同。用host指定运行主机。target:这个选项只有在建立交叉编译环境的
2015-09-08 11:01:45 16866
原创 ubuntu 文件夹内打开终端的方法
sudo apt-get install nautilus-open-terminal然后nautilus -q重新加载文件管理器,或注销登陆即可生效。
2015-09-02 09:20:39 850
转载 linux 链接库文件出现“undefined reference to" 问题的解决方法
最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误: (.text+0x13): undefined reference to `func' 关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。 1. 链接时缺失了相关目标文件
2015-09-01 13:44:04 29551
原创 手写wsdl文件
WSDL(web服务描述语言 Web Service Description Language)是一种基于XML的语言,它为Web服务与外部世界之间提供了一个合约。解决了以下两个问题:1.如何调用Web服务;2.想从Web服务器得到什么响应。一个WSDL文件的开头有一个根标签,定义了用到的命名空间。其中xmlns:comm="http://new.webservice.na
2015-08-26 20:07:18 1477 1
转载 WebService之WSDL文件讲解
是不是经常有人在开发的时候,特别是和第三方有接口的时候,走的是SOAP协议,然后用户给你一个WSDL文件,说按照上面的进行适配,嘿嘿,这个时候,要是你以前没有开发过,肯定会傻眼,那如果你想学习的话,就认真的看下面的讲解咯:一、WSDL概述 WebServices Description Language (WSDL Web服务语言)是一个用于精确描述Web Service
2015-08-10 20:10:24 5775
转载 浅谈HTTP中Get与Post的区别
转自 http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源
2015-08-06 10:02:09 345
转载 路由器 WAN和LAN的区别
其实只要弄清楚路由器上WAN口与LAN口之间的区别,安装任何路由器都可以得心应手了。下面将会给大家进行详细的介绍说明。路由器上的WAN口是用来连接外网(公网),或者说是连接宽带运营商的设备的。例如电话线上网时WAN口用来连接Moden(猫);光钎上网时,WAN口用来连接光猫;网线入户上网时,WAN口用来连接入户网线。而路由器上的LAN口(1、2、3、4),是用来连接内网(局域网)中
2015-08-06 07:19:05 2151
转载 DTD语法详解
DTD实际上可以看作一个或多个XML文件的模板,这些XML文件中的元素、元素的属性、元素的排列方式/顺序、元素能够包含的内容等,都必须符合DTD中的定义。XML文件中的元素,即我们所创建的标记,是根据我们应用的实际情况来创建的。想要创建一份完整性高、适应性广的DTD是非常困难的,因为各行各业都有他们自己的行业特点,所以DTD通常是以某种应用领域为定义的范围,如:医学、建筑、工商、行政。DTD定义的
2015-08-03 14:26:21 439
转载 Linux dialog详解(图形化shell)
最近使用dialog写图形自动化shell脚本, 功能很强大,功能不是非常多但是足够用。想写一篇linux下dialog的使用方法,虽然命令不多,但是写起来也需要下很大功夫,而且不一定写得更好,在网上发现一篇linux shell图形化脚本文件,于是转过来了.liunx 下的dialog 工具是一个可以和shell脚本配合使用的文本界面下的创建对话框的工具。每个对话框提供的输出有
2015-07-28 14:50:07 2922
原创 linux 下永久性修改PATH变量
运行命令vi /etc/profile在文件的最后添加上:export PATH="/你要的目录:$PATH"保存和退出最重要的是下面这步,运行命令source /etc/profile没报错则成功。
2015-07-24 17:23:18 3547
原创 ubuntu su 认证失败
新安装的ubuntu系统是无法切换到root账户的,得做一番修改sudo passwd密码:输入新的UNIX密码:确认密码:可以了。
2015-07-24 17:11:19 371
原创 正则表达式 学习笔记
. 匹配除换行符以外的任意字符\w 匹配字母或数字或下划线或汉字\s 匹配任意的空白符\d 匹配数字\b 匹配单词的开始或结束^ 匹配字符串的开始$ 匹配字符串的结束* 重复零次或更多次+ 重复一次或更多次?重复零次或一次{n} 重复n次{n,} 重复n次或更多次{n,m} 重复n到m次[abc]匹配abc中的一个[a-
2015-07-24 15:06:49 345
原创 交互式makefile
之前一直不知道在shell中调用read赋值后,怎么传给makefile中的变量,后来才恍然大悟。myname := $(shell read -p "Enter your name:" name;\echo $$name)all :@echo ${myname}
2015-07-23 16:15:20 739
转载 linux下新建用户
一,useradd(1)useradd -m username是最简单的方法,会在/home 目录下自动建立一个username目录;(2)useradd -d 是在指定的目录下进行建立如:useradd -d /home/user -s /bin/sh username,然后用语句:passwd username 就可以为新建的用户设置密码 两种方法都可以新增用户userna
2015-07-23 09:28:18 436
转载 makefile中的shell语法
在Makefile中写shell代码有点诡异,和不同的shell语法不太一样,如果不了解,看Makefile会莫名其妙。下面总结了一些。1:尽在Makefile文件的目标项冒号后的另起一行的代码才是shell代码。eg:xx = xx1 // 这里时makefile代码yy:xx = xx2 // 这是是makefile代码,makefile允许变量赋值时,
2015-07-21 14:44:02 369
转载 [错误] scp 时 ssh Connection refused
ssh: Error Connection: Connection refused需要安装服务模块openssh-server解决办法:sudo apt-get install ssh openssh-server
2015-07-21 14:33:15 1946
原创 UBUNTU 下 install as /bin/sh?no
执行./arm-2009q1-203-arm-none-linux-gnueabi.bin命令时,出现如下提示:The installer has detected that your system uses the dash shellas /bin/sh. This shell is not supported by the installer.You can work ar
2015-07-20 17:52:05 680
转载 正则表达式 分类区别
原文地址:http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html正则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在P
2015-07-17 09:42:30 707
原创 press esc for recovery menu
今天系统重启后,出现了press esc for recovery menu,应该是引导文件损坏的缘故,网上都说要用PE系统重建引导文件,但我手头没U盘,也没系统盘,做不到这点。后来发现了这个方法。 第一步,开机按F5,出现界面后直接回车,就能成功启动。搞定!不过每次开机都要这样启动的话也是麻烦。 第二步,运行下 http://pan.baidu.com/s/1
2015-07-12 09:45:13 3565
转载 Makefile经典教程(掌握这些足够)
makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写make
2015-07-06 15:44:54 441
精通正则表达式
2016-03-11
JavaScript学习指南
2015-07-30
GNU+makefile中文手册
2015-07-28
简明Python教程
2014-05-30
计算机科学概论
2014-04-01
Head.first.network
2014-03-30
通灵芯片:计算机运作的简单原理
2014-03-28
世界是数字的
2014-03-26
一些android源码
2014-03-14
计算机程序的构造和解释(第2版)
2014-03-07
程序设计方法(How_To_Design_Programs)-MIT.pdf
2014-03-03
excel vba编程 不懂这代码的意思,求解
2016-11-16
能否实现makefile编译时以图形化界面的方式选择编译目标
2015-08-31
怎么用XSD写下面的枚举常量。重点是进行赋值。
2015-08-20
.h文件里的 美元符号是什么意思
2015-08-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人