![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
小雉系统
这个作者很懒,什么都没留下…
展开
-
C语言经典算法大全
老掉牙 河内塔 费式数列 巴斯卡三角形 三色棋 老鼠走迷官(一) 老鼠走迷官(二) 骑士走棋盘 八个皇后 八枚银币 生命游戏 字串核对 双色、三色河内塔 背包问题(Knapsack Problem) 数、运算 蒙地卡罗法求 PI Eratosthenes筛选求质数 超长整数运算(大数运算) 长 PI 最转载 2015-11-15 09:33:21 · 1590 阅读 · 0 评论 -
嵌入式HZK16字库显示
#include <stdio.h> #include <string.h> #include <errno.h> void read_hzk16(const unsigned char *s, char* chs) { const char* path = "hzk16"; FILE *fp = fopen(pat...转载 2019-07-19 07:48:13 · 1552 阅读 · 0 评论 -
检测网线插拔状态
bool CheckCable(const char* _szInterfaceName){ int s32Ret; struct ifreq ifr; int skfd = socket(AF_INET, SOCK_DGRAM, 0); assert(skfd != -1); strcpy(ifr.ifr_name, _szInterfaceName); s32Ret = io...转载 2019-07-19 07:36:39 · 473 阅读 · 0 评论 -
局域网广播收发
#include <iostream>#include <stdio.h>#include <stdlib.h>#include <sys/socket.h>#include <unistd.h>#include <sys/types.h>#include <netdb.h>#include <...转载 2019-07-19 07:35:30 · 160 阅读 · 0 评论 -
arping IP冲突问题
#ifndef __RANDOM_IP_H__#define __RANDOM_IP_H__ #ifdef __cplusplus#if __cplusplusextern "C"{#endif#endif #include <sys/time.h> typedef struct{ char ip[16]; char gw[16]; c...转载 2019-07-19 07:27:12 · 374 阅读 · 0 评论 -
Linux 进度条
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>int progress_bar(int precent) { if (precent < 0 || precent > 100) { ret...转载 2019-07-19 07:24:09 · 84 阅读 · 0 评论 -
linux c/c++ 在生产环境中集成gdb记录 错误日志
主要代码如下:代码我已放到\\192.168.1.218\public\gdb下原创 2016-01-11 13:32:08 · 778 阅读 · 0 评论 -
RTCP中的NTP的时间计算方法
记得两年前刚开始做RTP/RTCP的时候碰到一个问题,是关于如何计算RTCP中的NTP时间戳,最近又有人问这个问题,于是就想把它贴出来,让大家参考,提提建议,交流促进进步。 记得当时有个客户说用openRTSP(open source ,you can get it from www.live555.com)无法录制我们送出去的RTP流,于是我也去下了一个,试了发现果然不行,于转载 2015-12-02 15:54:52 · 980 阅读 · 0 评论 -
关于Segmentation fault(段错误)探究
在rhel5.4上用GCC编程好长时间了(其实也就1个多月!),经常遇到这种情况:一个程序编译没有任何问题,当执行./a.out的时候出现:“Segmentation fault(段错误)”,下面就是最近的一次情况(目的只是测试strcat函数): 26 #include 25 #include 26 int main() 27 { 28 char转载 2016-01-03 11:46:07 · 2235 阅读 · 0 评论 -
i++在两个线程里边分别执行100次,能得到的最大值和最小值分别是多少?(答案是200和2)
i++不是原子操作,也就是说,它不是单独一条指令,而是3条指令:1、从内存中把i的值取出来放到CPU的寄存器中2、CPU寄存器的值+13、把CPU寄存器的值写回内存如果是单线程操作,i++毫无问题;但是在多核处理器上,用多线程来做i++会有什么问题呢?我再仔细地重复一遍问题:进程有一个全局变量i,还有有两个线程。每个线程的功能,就是循环100次,执行i++。问线程代码全原创 2015-12-15 10:07:08 · 2994 阅读 · 0 评论 -
cygwin跨平台移植开发系列3--GCC+VC联合使用
http://blog.csdn.net/songbohr/article/details/5276128前几天做一个模拟器时要把sdk代码在从linux移植到windows,我当初选用方案使用cygwin,然而却碰到一个crash的问题而搁浅。于是上周发了一个email到cygwin 的maillist,没想到得到cygwin官方的回复,原来faq里早就有了。另外我补充了几点转载 2015-11-25 12:44:00 · 601 阅读 · 0 评论 -
CMAKE 选项 个人整理
ADD_DEFINITIONS( -DMACRO1 –DMACRO2 … ):添加-D预编译宏定义,可以一次添加多个。ADD_DEPENDENCIES(target-name depend-target1depend-target2 ...) 定义target依赖的其他target,确保在编译本target之前,其他的target已经被构建。ADD_EXECUTAB原创 2015-11-18 12:38:01 · 2066 阅读 · 0 评论 -
用prctl给线程命名
对于多线程应用程序,如果能够给每个线程命名,那么调试起来的便利是不言而喻的。 今天看LWN上的周报,看到有人正在给prctl添加给进程内其它线程命名的接口,并从中得知,给线程自身命名的接口已经存在,不由窃喜,遂写下以下验证代码:#include #include #include void* tmain(void *arg) { char name[32];转载 2015-12-10 13:12:44 · 295 阅读 · 0 评论 -
Linux系统调用列表
一、进程控制:fork创建一个新进程clone按指定条件创建子进程execve运行可执行文件exit中止进程_exit立即中止当前进程getdtablesize进程所能打开的最大文件数getpgid获取指定进程组标识号setpgid设置指定进程组标志号转载 2015-12-10 13:10:44 · 530 阅读 · 0 评论 -
system调用导致子进程socket句柄泄漏问题分析
问题引出:A进程与B进程各自独立,都是服务器进程,常驻系统,互不相干。在某次重启A进程后,发现由于固定监听的端口被占用而无法启动。检查,发现是B进程占用了该端口,检查B进程代码,没有相关的打开该固定端口和打开随机端口的动作。问题百思不得其解。最终,发现B进程不只是占用了该固定端口,还打开了很多本该只有A进程才会打开的句柄资源。很快联想到A是B的子进程,B是A fork之后在子进程中运行转载 2015-12-10 12:20:52 · 2074 阅读 · 1 评论 -
Linux下编程获取本地IP地址的常见方法
在进行Linux网络编程时,经常用到本机IP地址。本文罗列一下常见方法,以备不时之需。获取本机IP地址,是一个相当灵活的操作,原因是网络地址的设置非常灵活而且都是允许用户进行个性化设置的。比如一台计算机上可以有多块物理网卡或者虚拟网卡,一个网卡上可以绑定多个IP地址,用户可以为网卡设置别名,可以重命名网卡。用户计算机所在网络拓扑结构未知,主机名设置是一个可选项,并且同样可以为一个计算机绑定多个...转载 2019-08-26 10:50:16 · 291 阅读 · 0 评论