实用小程序类
文章平均质量分 61
Coder young
13年毕业逐梦青年来到北京,历任迪普科技(抗D),完美世界(HIDS),当前就职华为(抗D),主攻网络安全DDoS防御
展开
-
一个重写的strncpy(strcpy和strncpy比较)
首先你要看一下两个函数的实现源码。第情况一:char* p="how are you ?";char name[20]="ABCDEFGHIJKLMNOPQRS"; strcpy(name,p); //name改变为"how are you ? OPQRS " ====>错误!strncpy(name,p,sizeof(name)) //name改变为"h原创 2016-10-12 18:51:25 · 836 阅读 · 0 评论 -
linux下多线程之生成者与消费者模型(互斥,读写锁,条件变量)
线程间的同步方法大体可分为两类:用户模式和内核模式。顾名思义,内核模式就是指利用系统内核对象的单一性来进行同步,使用时需要切换内核态与用户态,而用户模式就是不需要切换到内核态,只在用户态完成操作。用户模式下的方法有:原子操作(例如一个单一的全局变量),临界区。内核模式下的方法有:事件,信号量,互斥量。下面我们来分别看一下这些方法:一、互斥锁或互斥量(mutex)下面是用互斥量来原创 2017-02-21 18:58:51 · 640 阅读 · 0 评论 -
linux下运用c实现队列调度
头文件Queue.h #ifndef Queue_H #define Queue_H typedef int Item; typedef struct node * PNode; typedef struct node { Item data; PNode next;原创 2017-02-21 18:46:16 · 1099 阅读 · 0 评论 -
通过socket连接获取本机IP地址
#include #include #include #include #include #include #include #include #include #include #define PORT 443 #define MAXDATASIZE 1024 int main()原创 2016-11-17 18:33:15 · 3599 阅读 · 0 评论 -
获取本机接口IP地址
#include #include #include #include #include int get_local_ip(char *ips) { struct ifaddrs *ifAddrStruct; void *tmpAddrPtr=NULL; char ip[INET_ADDRSTRLEN];原创 2016-11-17 18:32:07 · 2996 阅读 · 0 评论 -
获取本机网卡IP及对应的mac
#include #include #include #include #include #include #include #include #include #include #include typedef long LONG;typedef char CHAR;#define CONST const #ifndef原创 2016-11-17 18:30:47 · 1085 阅读 · 0 评论 -
获取本机mac地址
#include #include #include int main (int argc, const char * argv[]){ struct ifaddrs * ifAddrStruct=NULL; void * tmpAddrPtr=NULL; getifaddrs(&ifAddrStruct); while (i原创 2016-11-17 18:29:22 · 609 阅读 · 0 评论 -
获取数组长度
#include "stdio.h"#define ARRAY_SIZE(x) (sizeof(x)/sizeof(*(x)))static char *newargv[255];int main( void ){ int num = 0; num = ARRAY_SIZE(newargv); printf("num = %d\n原创 2016-11-17 18:28:11 · 580 阅读 · 0 评论 -
获取本机hostname
#include #include #include #include #include #include #include #include #include #include int main(int argc ,char **argv){ char hostname[32 + 1]; if(gethostnam原创 2016-11-17 18:27:24 · 2469 阅读 · 0 评论 -
获取本机uname
#include #include int main( int argc , char ** argv){ struct utsname utsname; if( uname(&utsname) ) { printf("111\n"); }原创 2016-11-17 18:26:10 · 288 阅读 · 0 评论 -
strtok函数(解析时间格式为时间戳)
能够将这类时间格式逐步分隔最后分解为,年,月,日,时,分,秒,可以直接调用mktime转化为时间戳。#include #include #include int main( ){ time_t time; struct tm stm; char str[] = "'2014-08-11 10:11:22'"; char *ptr = NULL;原创 2016-10-19 19:03:27 · 428 阅读 · 0 评论 -
gcc编译生成动态链接库,静态库步骤
废话不说,直接干货:首先touch三个文件test.h,test.c,main.ctest.c文件内容:int add(int a, int b){ return a + b;}int sub(int a, int b){ return a - b;}int mul(int a, int b){ return a * b;}int div(int a,原创 2017-03-09 14:28:04 · 2098 阅读 · 0 评论