- 博客(16)
- 收藏
- 关注
原创 Linux C任务计数器实现-信号实现
感觉定义一个好的结构体,可以实现很强大的功能。 本程序是利用信号里面的知识来实现。功能是多任务定时器,有多个定时器,每个定时器都可以实现自己的功能。每个定时器返回自己的id,通过id来操控定时器任务取消,等待定时器结束 anytimer.h #ifndef ANYTIMER_H__ #define ANYTIMER_H__ #define JOB_MAX 1024 typedef void at_addjob_t(void*); int at_addjob(int sec,at_addjob_t
2022-05-03 19:05:17
331
原创 Linux C高级io-有限状态机
1,非阻塞io 流程图:1,rl-wr-rr-wl 可以变换成 2,rl-wr rr-wl #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <errno.h> #define TTY1 "/dev/tt.
2022-04-27 11:02:06
1924
原创 c语言各种字符串操作函数实现
1,strncpy实现 按照man strncpy官方实现版本 char *strncpy(char *dest, const char *src, size_t n) { size_t i; for (i = 0; i < n && src[i] != '\0'; i++) dest[i] = src[i]; for ( ; i < n; i++) dest[i] = '\0';
2022-04-26 09:43:25
773
原创 LinuxC多线程应用
1,简单线程程序的创建 线程的调度取决于调度器的策略,线程没有父子之称,是兄弟关系。有时候主线程先退出,那么次线程可能执行不到。 #include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <string.h> #include <unistd.h> static void * func(void *arg) { puts("thread is work
2022-04-20 16:53:58
340
原创 链表的一些简单实现
学习了结构体和指针后,觉得自己应该要写一些东西的必要了。 对于函数传值和传地址有了一些简单的了解。 巩固了一些简单的编程方法,其中出现了好几次segment default。 要了解指针使用了存放地址的,什么类型那的指针操作什么类型的数。 先附上代码吧,然后一步一步解释 #include<stdio.h> #include <stdlib.h> #include...
2019-01-31 13:59:19
164
转载 TCP三次握手/四次握手
今天看了一篇TCP的文章,内容十分丰富加深自己对计算机网络的理解 https://blog.csdn.net/qzcsu/article/details/72861891
2018-06-15 18:22:09
143
原创 简单socket程序
1,int socket(int domain,int type,int protocol) domain :AF_INET ipv4AF_UNIX 进程间通信的一种方式,命名socket特殊的,不走ip层type:SOCKET_DGRAM UDP报文SOCK_STREAM TCP报文protocol: IPPROTO_ICMP:ping命令实现报文IPPROTO_TCP ,IPPRO...
2018-03-19 21:51:24
189
原创 fl2440第一次烧录
软件程序:bootstrap-s3c2440.bin,u-boot-s3c2440.bin , linuxrom-s3c2440.bin,rootfs-ubifs.bin1)jlink连接,电源连接,串口连接,连接网线jlink操作并 出现以下信息:软件 J-Link-Command 操作J-Link>hPC: (R15) = 000000D4, CPSR = 600000D3 (SVC m...
2018-03-17 12:25:04
264
原创 配置交叉编译器1
crosstool-ng制作交叉编译器本文档基于凌云物网智科实验室文档制作本文中>>xx xx为要输入的命令1,>>mkdir crosstool>>cd crosstool>>wget http://crosstoolng.org/download/crosstool-ng/crosstool-ng-1.16.0.tar.bz2>>...
2018-03-15 21:09:12
875
原创 linux 环境下文件io
/********************************************************************************* * Copyright: (C) 2018 ligang * All rights reserved. * * Filename: file.c * Desc
2018-02-03 15:51:10
193
原创 获取一张网卡的IP地址以及子网掩码
#include #include #include int main(int argc,char *argv) { FILE * fp; char buf[512]; char * p1; char * p2; char * p3; char *p4; char ipar[16]; char mask[32];
2018-01-27 13:50:48
777
原创 写一个多线程程序并放到后台运行
#include include int g_var = 10; void* thread_worker1(void* agr) { while(1) { printf("thread_worker1 tid:[%lu],g_var++=%d\n",pthread_self(),g_var++); sleep(2); } return NULL; } void * thread_wo
2018-01-26 22:40:21
991
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人