
C 语言
文章平均质量分 64
邹亚鹏
- -!!
展开
-
linux 下的mysql
最近在学习mysql,还是只菜鸟,找到下面篇文章对初学者挺有用的,所以共享下1.linux下启动mysql的命令: mysqladmin start/ect/init.d/mysql start (前面为mysql的安装路径)2.linux下重启mysql的命令: mysqladmin restart/ect/init.d/mysql restart (前面转载 2012-07-22 13:59:55 · 493 阅读 · 0 评论 -
linux下C语言多线程(一)线程的创建与取消
linux下用C开发多线程程序,Linux系统下的多线程遵循POSIX线程接口,称为pthread。#include int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, v原创 2014-01-08 19:09:10 · 1071 阅读 · 0 评论 -
线程取消(pthread_cancel)
取消线程取消操作允许线程请求终止其所在进程中的任何其他线程。不希望或不需要对一组相关的线程执行进一步操作时,可以选择执行取消操作。例如,用户请求关闭或退出正在运行的应用程序。另一个示例是完成由许多线程执行的任务。其中的某个线程可能最终完成了该任务,而其它线程还在继续运行。由于正在运行的线程此时没有任何用处,因此取消这个线程。取消点仅当取消操作安全时才应取消线程。pthreads标准原创 2014-01-08 19:10:38 · 4533 阅读 · 0 评论 -
打印程序编译时间
#include int main(){ printf(__DATE__); printf("\n"); printf(__TIME__); printf("\n"); return 0;}原创 2014-01-14 15:45:21 · 2833 阅读 · 0 评论 -
多线程 or 多进程?
在Unix上编程采用多线程还是多进程的争执由来已久,这种争执最常见到在C/S通讯中服务端并发技术的选型上,比如WEB服务器技术中,Apache是采用多进程的(perfork模式,每客户连接对应一个进程,每进程中只存在唯一一个执行线程),Java的Web容器Tomcat、Websphere等都是多线程的(每客户连接对应一个线程,所有线程都在一个进程中)。 从Unix发展历史看,伴随着U转载 2014-01-17 13:17:42 · 1054 阅读 · 0 评论 -
vim 对齐
只要在 /etc/vimrc中加上这两句就行了set autoindentset smartindent--------------------------------------------------------pip我说过vim很好很强大滴--------------------------------------------------------===原创 2014-02-24 13:20:41 · 1448 阅读 · 0 评论 -
vim 去掉^M
有两种情况,会出现打开的文件都显示^M符号:1. vim被配置为fileformat=unix,而你打开的文件都是dos格式的。unix格式的换行符为0A(ascii码)也就是,dos格式的换行符为 0D 0A(也就是),其实就显示为^M。下面是详细讲解:DOS, Mac 和Unix格式的文件回想计算机的史前史,那时的打字机使用两个字符来开始一个新行。首先是一个字符命令使打印头原创 2014-02-24 13:23:00 · 694 阅读 · 0 评论 -
关于typedef的用法总结
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别名,而不原创 2014-02-24 13:45:26 · 472 阅读 · 0 评论 -
进度条
#include#include #include int main(){ #if 0 int bootdelay = 10; printf("Hit any key to stop autoboot: %2d ", bootdelay); while(1) { printf("\b\b\b%2d ", bootdelay); sleep(1); } return原创 2014-02-26 10:52:23 · 635 阅读 · 0 评论 -
二维码的生成细节和原理
二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人一同学习之。关于QR Code Specification,可参看这原创 2014-02-26 15:46:36 · 4267 阅读 · 0 评论 -
线程处理函数pthread_cleanup_push / pthread_cleanup_pop
线程可以安排它退出时需要调用的函数,这样的函数称为线程清理处理程序,线程可以建立多个清理处理程序。处理程序记录在栈中,也就是说它们的执行顺序与它们注册时的顺序相反。 pthread_cleanup_push来注册清理函数rtn,这个函数有一个参数arg。在以下三种情形之一发生时,注册的清理函数被执行: 1)调用pthread_exit。 2)作为对取消线程请求(pth原创 2014-01-08 19:07:40 · 637 阅读 · 0 评论 -
get file size
int read_filesize(char *fileName){ int fileSize; FILE *fPtr; fPtr = fopen(fileName, "rb"); if(fPtr == NULL) return -2; fileSize = 0; fseek(fPtr,0,SEEK_END); fileSize = ftell(fPtr); f原创 2013-12-17 19:43:16 · 620 阅读 · 0 评论 -
各种内部排序算法复杂度的比较和排序方法的选择
按平均时间将排序分为四类:(1)平方阶(O(n2))排序 一般称为简单排序,例如直接插入、直接选择和冒泡排序;(2)线性对数阶(O(nlgn))排序 如快速、堆和归并排序;(3)O(n1+£)阶排序 £是介于0和1之间的常数,即0(4)线性阶(O(n))排序 如桶、箱和基数排序。转载 2012-07-21 18:13:53 · 782 阅读 · 0 评论 -
鸟哥的 Linux 私房菜 -- 学习 bash shell
第十一章、認識與學習 BASH切換解析度為 800x600最近更新日期:2009/08/25在 Linux 的環境下,如果你不懂 bash 是什麼,那麼其他的東西就不用學了!因為前面幾章我們使用終端機下達指令的方式,就是透過 bash 的環境來處理的喔!所以說,他很重要吧!bash 的東西非常的多,包括變數的設定與使用、bash 操作環境的建置、資料流重導向的功能,還有转载 2012-07-18 23:23:16 · 5181 阅读 · 0 评论 -
SQLITE3,C语言使用(转)
前序:Sqlite3 的确很好用。小巧、速度快。但是因为非微软的产品,帮助文档总觉得不够。这些天再次研究它,又有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记。这里要注明,我是一个跨平台专注者,并不喜欢只用 windows 平台。我以前的工作就是为 unix 平台写代码。下面我所写的东西,虽然没有验证,但是我已尽量不使用任何 windows 的东西,只使用标准 C 或标准C+转载 2012-07-22 22:52:39 · 1782 阅读 · 0 评论 -
排序算法空间、时间复杂度
排序算法空间、时间复杂度简单排序法——冒泡法是第二维循环中自己循环,找最小或最大值选择排序和交换排序是第二维循环与第一维循环中的值比较;交换法最清晰,选择法作了改进,只交换位置标号,算法复杂度没变。插入法,它的基本工作原理是抽出牌,在前面的牌中寻找相应的位置插入,然后继续下一张(较为复杂)高级排序法——快速排序,从冒泡法改进得到,基本思想是任选一转载 2012-07-21 18:13:20 · 815 阅读 · 0 评论 -
C语言头文件
看了下面的文章,对头文件的使用还是很混乱,求指教~-----------------------------------------------------------------------------------------------------------------------------------------------文章来源:http://blog.chinaun转载 2012-07-19 14:24:58 · 1972 阅读 · 0 评论 -
htonl(), ntohl(), htons(), ntohs().
htonl():将主机的无符号长整形数转换成网络字节顺序。 #include uint32_t htonl(uint32_t hostlong);hostlong:主机字节顺序表达的32位数。 htonl()返回一个网络字节顺序的值。 ntohl():将一个无符号长整形数从网络字节顺序转换为主机字节顺序。 #include uint32_t nt原创 2013-12-05 14:32:27 · 731 阅读 · 0 评论 -
linux socket模板
服务器端#include#include#include#include#include#include#include#define MAXLINE 4096int main(int argc, char** argv){ int listenfd, connfd; struct sockaddr_in servaddr; char原创 2013-12-05 14:13:59 · 648 阅读 · 0 评论 -
molloc的一种使用
if(ptr){ free(ptr); ptr = NULL;}ptr = (char *)malloc(sizeof(DATA_SIZE));感觉不错~~~原创 2013-12-05 14:21:20 · 920 阅读 · 0 评论 -
%02x 打印出很多f
当类型是char型,凡是0x80以上,即最高位是1的数据,通过"%02x"打印后会在前面填充6个‘f’,即变成ffffff87这样的数据。 而换成unsigned char型则打印正常。 但是在ARM的linux上之前没有遇到这样的问题。看来对于平台还有编译器还是很有关系的,但是现在的疑惑就是%02x其中的2代表只有2位数据,但是现在却打印了8位,诡异。原创 2013-12-16 12:16:14 · 2880 阅读 · 0 评论 -
Objective-C中的占位符,打印BOOL类型数据
常用的一些占位符:%@:字符串占位符%d:整型%ld:长整型%f:浮点型%c:char类型%%:%的占位符 尽管有那么多的占位符,但是好像没有发现BOOL型的数据的占位符,这也是比较纠结的地方,看了一下别人是怎么解决这个问题的 BOOL studyBool = YES; NSLog(@"打印BOOL型数据%@",studyBool?@"Y原创 2014-03-14 09:20:06 · 9960 阅读 · 0 评论 -
交叉编译openssl
本次任务是要完成嵌入式Linux下对openssl程序的支持。 我的开发环境:ARM9开发板 和 嵌入式Linux操作系统。装有Linux系统(我的是ubuntu9.04)的PC机一台。串口和串口连接线。串口调试软件:minicom。交叉编译工具:arm-unknown-linux-gnu-gcc 下载最新版本的openssl-1.0.0: http://www.op原创 2014-03-27 14:50:12 · 19488 阅读 · 1 评论 -
c里面使用libcurl库实现发送post并获取post到的内容
以下是c代码的实现:#include #include #include #include #define POSTURL "http://www.xiami.com/member/login"#define POSTFIELDS "email=myemail@163.com&password=mypassword&autologin=1&submit=登 录&转载 2014-07-25 16:35:47 · 3189 阅读 · 0 评论 -
使用libcurl进行文件上传
上篇博文讲到了如何使用multicurl来进行http并发访问,今天继续有关curl的主题,来八一八如何使用curl来上传文件,在介绍具体方法之前了解下目前http文件上传的基本实现。 rfc1867描述了如何使用http协议来上传客户端文件,目前基本上所有的浏览器和web服务器都支持http文件上传,它的使用也十分的简单,具体的来说就是在页面上创建一个form表单,表单的encty转载 2014-07-24 18:06:26 · 13174 阅读 · 0 评论 -
php curl_init函数用法
使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网 页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内 容,cURL 是一个功能强大的PHP库。PHP中的CURL函数库(Client URL Library Function)curl_close转载 2014-07-25 09:19:09 · 600 阅读 · 0 评论 -
跟一下wpa_supplicant(3-2) connect AP
转:http://blog.chinaunix.net/uid-20514606-id-3260320.html接前面(3-1)继续: 5. 接分支4.authenticate response 来了和前面一样:wpa_driver_nl80211_event_receive到=> process_event 收到 NL80211_CMD_AUTHE转载 2014-06-20 15:12:53 · 1881 阅读 · 0 评论 -
linux free命令详解
我的linux执行free命令显示如下: [root@Linux /tmp]# free total used free shared buffers cachedMem: 255268 238332 16936 0 85540 126384-/+ buf转载 2014-08-20 09:58:14 · 812 阅读 · 0 评论 -
一个Linux下C线程池的实现(转)
1.线程池基本原理 在传统服务器结构中, 常是 有一个总的 监听线程监听有没有新的用户连接服务器, 每当有一个新的 用户进入, 服务器就开启一个新的线程用户处理这 个用户的数据包。这个线程只服务于这个用户 , 当 用户与服务器端关闭连接以后, 服务器端销毁这个线程。然而频繁地开辟与销毁线程极大地占用了系统的资源。而且在大量用户的情况下, 系统为了开辟和销毁线程将浪费大量的时间和资源。线程转载 2014-09-18 10:13:08 · 927 阅读 · 0 评论 -
strtok_r使用实例
#include#include#define INFO_MAX_SZ 255typedef struct { char level[16]; char ssid[36];}JOSEPH_WIFI_AP_MESSAGE;int main(){ JOSEPH_WIFI_AP_MESSAGE scan_ap_message[10]; char buf[INFO_MAX_SZ]原创 2014-09-09 17:38:22 · 1896 阅读 · 0 评论 -
system函数返回值
system函数返回值2011年08月01 日星期一11:59转自:http://blog.cheyo.net/?p=42 例:status = system("./test.sh");1、先统一两个说法:(1)system返回值:指调用system函数后的返回值,比如上例中status为转载 2014-08-18 15:33:11 · 6239 阅读 · 0 评论 -
linux 下内存泄露检测工具valgrind的使用
内存泄露检测,使用工具valgrind,能够检测具体哪一行代码创建的内存泄露。因该该工具只在程序结束时才统计信息,所以对于我们不退出的程序可以在运行一段时间后,直接ctrl+c停止,valgrind会统计目前的信息。使用以下选项:valgrind --leak-check=yes --trace-children=yes --show-reachable=yes --log-file=原创 2014-08-19 12:51:19 · 1184 阅读 · 0 评论 -
inet_ntoa在32位机器上没有问题,64位机器又问题
inet_ntoa用法如下:char *inet_ntoa(struct in_addr in); 就是将struct in_addr结构转换为IP地址的形式,struct in_addr这个结构应该不陌生吧,它的定义如下:原创 2014-07-24 11:53:04 · 1144 阅读 · 0 评论 -
makefile模板(可执行文件,动态库,静态库)
可执行文件:原创 2014-07-22 15:18:57 · 2563 阅读 · 1 评论 -
Linux下makefile 模板
makefile在Linux下写程序,程序多了,写makefile是有必要的,为了能提高效率,写个模板以后只需要稍微改改!原创 2014-04-30 16:17:45 · 641 阅读 · 0 评论 -
linux下串口通信
串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是RS-232-C接口(又称EIA RS-232-C)它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。串口通讯指的是计算机依次以位(bit)为单位来传送数据,串行通讯使用的范围很广,在嵌入式系统开发过程中串口通讯也经常用到通讯方式之一。Lin原创 2014-04-15 15:23:21 · 2497 阅读 · 0 评论 -
linux下内存泄露调试
http://www.s135.com/post/419/ http://blog.chinaunix.net/uid-579481-id-163614.html http://blog.chinaunix.net/uid-16135252-id-2752984.html原创 2014-03-24 09:07:52 · 772 阅读 · 0 评论 -
linux下获取本机公网ip
curl http://iframe.ip138.com/ic.asp原创 2014-03-17 16:51:56 · 843 阅读 · 0 评论 -
Linux C 编程内存泄露检测工具(二):memwatch
Memwatch简介在三种检测工具当中,设置最简单的算是memwatch,和dmalloc一样,它能检测未释放的内存、同一段内存被释放多次、位址存取错误及不当使用未分配之内存区域。请往http://www.linkdata.se/sourcecode.html下载最新版本的Memwatch。安装及使用memwatch很幸运地,memwatch根本是不需要安装的,因为它只是一组C程序代码转载 2014-05-07 14:20:38 · 10159 阅读 · 0 评论 -
Linux C 编程内存泄露检测工具(一):mtrace
前言所有使用动态内存分配(dynamic memory allocation)的程序都有机会遇上内存泄露(memory leakage)问题,在Linux里有三种常用工具来检测内存泄露的情況,包括:mtracedmallocmemwatch1. mtracemtrace是三款工具之中是最简单易用的,mtrace是一个C函數,在里声明及定义,函数原型为: void转载 2014-05-07 13:56:05 · 2028 阅读 · 1 评论