![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux C
iotcsdn
这个作者很懒,什么都没留下…
展开
-
【无标题】
./tcpdump -i eth0 host 47.93.126.27 and port 30157原创 2021-12-11 16:02:01 · 850 阅读 · 0 评论 -
linux goto陷阱
1.变量要在goto之前定义2.如果没有goto到指定位置,下列所有情况都会指定原创 2020-05-23 22:03:53 · 349 阅读 · 0 评论 -
winscp 15秒通信错误
将优化去掉原创 2020-04-01 13:08:12 · 443 阅读 · 0 评论 -
linux libcurl 编译安装
1.tar -zxvf curl-7.68.0.tar.gz2.cdcurl-7.68.03../configure --prefix=$PWD/_install //指定安装位置,如果是交叉编译还需要指定机器类型4.make5.make install6.查看生成的库及应用在$PWD/_install 目录下...原创 2020-02-26 14:07:41 · 195 阅读 · 0 评论 -
linux 静态库 动态的创建
1.参数r:在库中插入模块(替换)。当插入的模块名已经在库中存在,则替换同名的模块。如果若干模块中有一个模块在库中不存在,ar显示一个错误消息,并不替换其他同名模块。默认的情况下,新的成员增加在库的结尾处,可以使用其他任选项来改变增加的位置。参数c:创建一个库。不管库是否存在,都将创建。 参数s:创建目标文件索引,这在创建较大的库时能加快时间。(补充:如果不需要创建索引,可改成大写S参数;...原创 2020-02-26 11:38:51 · 73 阅读 · 0 评论 -
c++ 日志管理系统
开源的c++日志管理不太好,有的占用空间太大,有的存在内存泄漏.自己写的 占用空间少。功能:1.支持各种格式打印2.日志分等级3.设置每个日志的文件大小自动覆盖4.根据时间(天),自动分割...原创 2020-02-26 11:21:38 · 743 阅读 · 0 评论 -
c++ jsoncpp
安装1.$ cd jsoncpp-0.10.1$ mkdir -p ./build/debug$ cd ./build/debug$ cmake \-D CMAKE_BUILD_TYPE=debug \-D BUILD_STATIC_LIBS=ON \-D BUILD_SHARED_LIBS=OFF \-D CMAKE_INSTALL_PREFIX=/usr/local/js...原创 2020-02-25 17:13:42 · 197 阅读 · 0 评论 -
linux 指定库路径
1.修改配置文件修改/etc/ld.so.conf的内容在最后添加库加载的新的路径,然后执行:ldconfig使配置生效。2.echo $LD_LIBRARY_PATHexport LD_LIBRARY_PATH=/home/houjunjie/houjunjie/jsoncpp-0.y.z/build/debug/src/lib_json...原创 2020-02-25 15:41:20 · 1624 阅读 · 0 评论 -
linux 检测网络自动重启
检测linux网络,网络中断时自动重启# !/bin/shvarCnt=0varCntMax=30while truedoping -c 3 www.badu.com11 >/dev/nullif [ $? -eq 0 ];thenecho "net is ok"varCnt=0sleep 60elselet varCnt+=1echo "net is not...原创 2020-02-17 21:51:00 · 1102 阅读 · 0 评论 -
netdata交叉编译
注意有的nedata源码移植后不能正常运行,可以换个版本试下zlibexport CC=aarch64-himix100-linux-gcc //它的configure不支持用CC变量来指定交叉工具链./configure --prefix=$PWD/_install //最后生成的库、头文件和man文件都在当前目录的_install目录下$ make && make...原创 2020-02-02 09:57:01 · 373 阅读 · 0 评论 -
数据结构与char *转换
#include <stdio.h>typedef struct student{ int age1; int age2;}STUDENT;void main(){STUDENT s1 = {1,2};printf("%d--%d\n",s1.age1,s1.age2);char buf[1024];STUDENT *s = (STUDEN...原创 2019-03-19 15:30:38 · 376 阅读 · 0 评论 -
linux c 链表
#include <stdio.h>//设计节点结构typedef struct Node{ int data; struct Node *pNext;}NODE, *pNODE;int GetLengthSgLinkList(pNODE pHead){ int length = 0; pNODE pt = pHead->pNext;...原创 2019-03-14 20:27:44 · 276 阅读 · 0 评论 -
linux 修改和删除root密码
1.修改passwd rootChanging password for rootNew password:Bad password: too shortRetype password:Password for root changed by root2.删除passwd -d rootPassword for root changed by root...原创 2019-03-14 17:32:20 · 5341 阅读 · 1 评论 -
Linux c 结构体 malloc
gcc C语言使用malloc方式一:可以 方式二:可以 方式三:错误 g++ 使用malloc方式一:可以 方式二可以 方式三错误原创 2018-12-14 19:21:44 · 719 阅读 · 0 评论 -
linux 多线程 多定时器
linux则只允许单进程拥有一个定时器,因此在linux下的单进程中要使用多个定时器,则需要自己维护管理。方法一:进程中只有一个定时器,通过标志位,可以在不同时间执行不同的任务。方法二:Linux进程多个定时器 实现数据更新 数据上传#include <stdio.h>#include <stdlib.h>#include <unist...原创 2018-12-28 21:22:42 · 2634 阅读 · 2 评论 -
利用读写锁实现sqlite多线程写的问题
https://blog.csdn.net/u012218838/article/details/79362929转载 2018-12-08 00:07:55 · 817 阅读 · 0 评论 -
Linux 进程
在父进程中fork返回的是子进程的ID,在子进程中fork返回的是0#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<sys/types.h> int main(){printf("--------------\n"); int num = 3;...原创 2018-12-12 22:17:46 · 110 阅读 · 0 评论 -
C 内存泄漏 CPU占用率过高问题
一。CPU占用率过高while(1);空循环应加sleep延时。会造成CPU占用率过高内存泄漏二。内存泄漏 (fopen后要记得fclose,malloc之后要记得free,new之后要记得delete)1.分配动态内存忘记释放 ifconfig_value = (char*)malloc(20); free(ifconfig_value); 2....原创 2018-12-20 23:16:10 · 1187 阅读 · 0 评论 -
linux c 文件操作
open 与cloae要成对使用,否则可能造成内存泄漏分割函数 char* strtok (char* str,constchar* delimiters ); #include<unistd.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#define ...原创 2018-12-26 20:47:28 · 101 阅读 · 0 评论 -
Linux C 常用函数
open("/proc/net/dev", O_RDONLY | O_EXCL); lseek(fd, 0, SEEK_SET); read(fd, buf, sizeof(buf)-1); close(fd); strtok(pDev, " \t\r\n");/*去除空格,制表符,换行符等不需要的字段*/ strstr(buf, ath0);//返回第一次指向ath0位...原创 2018-12-26 21:36:48 · 164 阅读 · 0 评论 -
C 语言回调函数
1.回调函数:回调函数是指 使用者自己定义一个函数,实现这个函数的程序内容,然后把这个函数(入口地址)作为参数传入别的函数中,由别的函数在运行时来调用的函数。函数是你实现的,但由别人(或系统)的函数在运行时通过参数传递的方式调用,这就是所谓的回调函数。简单来说,就是由别人的函数运行期间来回调你实现的函数。 pthread_create(&t0, NULL, Information,...原创 2018-12-24 22:33:46 · 178 阅读 · 0 评论 -
linux c 线程传多个参数
给新开启的线程传递多个参数用结构体struct Arges{ char topic[64]; char msg[64]; int len;};int countThreat=0;void *text3(void *arg){countThreat++;//pthread_mutex_lock(&mut); struct Arges *v = ...原创 2019-01-04 14:49:50 · 1799 阅读 · 0 评论 -
多个回调函数的简单用法
#include <iostream>using namespace std;typedef int (*DEV_MSG_CALLBACK)(char *msg);//int(*CallBack)(char *p):这个函数有一个返回值,类型为int//DEV_MSG_CALLBACK是一个指针,指向具有一个char*类型参数,且返回一个int型数据的函数//前面有个type...原创 2019-01-03 13:41:36 · 1409 阅读 · 0 评论 -
linux c 常用函数
int sprintf( char *buffer, const char *format [, argument] … );//spritnf 在大多数场合可以替代itoaatoi //字符串转化为一个整型值itoa//int-->str linux c没有这个函数size_t strlen(const char *s)char *strcpy(char *dest,co...原创 2019-01-24 19:17:39 · 225 阅读 · 0 评论 -
windows64 vc++6.0 安装thread库
1.下载pthreads-w32-2-8-0-release-master.rar2.解压后pthreads-w32-2-8-0-release.exe3. 拷贝E:\C++\Pre-built.2\include(全部)下的头文件到D:\vc++6.0\VC++\Microsoft Visual Studio\VC98\Include4.拷贝E:\C++\Pre-built.2\...原创 2019-01-09 21:57:55 · 1057 阅读 · 3 评论 -
c/c++ 结构体的
C++中的结构体与类的区别: (1)class中默认的成员访问权限是private的,而struct中则是public的。 (2)class继承默认是private继承,而从struct继承默认是public继承。1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; ...原创 2019-02-13 23:39:05 · 95 阅读 · 0 评论 -
linux c strlen 与sizeof的区别
头文件:string.h函数原型:size_t strlen(const char *s)功能:求字符串长度(不含字符串结束标志'\0') sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,...原创 2019-03-14 11:10:06 · 269 阅读 · 0 评论 -
linux 定时器
参考:https://www.cnblogs.com/wenqiang/p/5525261.htmlwindows下的接口支持单进程中拥有多个定时器,而linux则只允许单进程拥有一个定时器,因此在linux下的单进程中要使用多个定时器,则需要自己维护管理,1.alarm函数,对定时要求不太精确的话,使用alarm()和signal()就行了#include <stdio.h...原创 2018-11-29 22:35:59 · 1423 阅读 · 0 评论