C
ElonChen123
嵌入式
展开
-
Linux创建后台进程
void setdaemon(const char * pid_file){ pid_t pid; if(!pid_file) { return; } if((pid = fork()) < 0) { exit(-1); } if(pid) { exit(0); } setsid(); if ((pid = fork()) < 0) { ...原创 2019-11-19 09:16:48 · 1092 阅读 · 0 评论 -
linux原始套接字详解
一、原始套接字概述 协议栈的原始套接字从实现上可以分为“链路层原始套接字”和“网络层原始套接字”两大类。本节主要描述各自的特点及其适用范围。链路层原始套接字可以直接用于接收和发送链路层的MAC帧,在发送时需要由调用者自行构造和封装MAC首部。而网络层原始套接字可以直接用于接收和发送IP层的报文数据,在发送时需要自行构造IP报文头(取决是否设置IP_HDRINCL选项)。 1.1转载 2016-10-13 10:54:19 · 4499 阅读 · 0 评论 -
自定义数据包时的字节对齐
struct {}node;32为的x86,window下VC下sizeof(node)的值为1,而linux的gcc下值为0;一、WINDOWS下(VC--其实GCC和其原理基本一样,象这种问题,一般要查具体的编译器设置)字节对齐的规则:1、一般设置的对齐方式为1,2,4字节对齐方式,VC一般默认为4字节(最大为8字节)。结构的首地址必须是结构内最宽类型的整数倍地址;另外,结构体原创 2016-10-12 16:41:39 · 723 阅读 · 0 评论 -
ASCII字符集中的功能/控制字符
ASCII 字符集,大家都知道吧,最基本的包含了 128 个字符。其中前 32 个, 0-31 ,即 0x00-0x1F ,都是不可见字符。这些字符,就叫做控制字符。这些字符没法打印出来,但是每个字符,都对应着一个特殊的控制功能的字符,简称功能字符或功能码 Function Code 。简言之: ASCII 中前 32 个字符,统称为 Function Code 功能字符。此外,由转载 2016-09-19 12:27:50 · 1475 阅读 · 0 评论 -
对于FILE,LINE,func这样的宏
C标准中一些预定义的宏 C标准中指定了一些预定义的宏,对于编程经常会用到。下面这个表中就是一些常常用到的预定义宏。 宏 意义 DATE 进行预处理的日期(“Mmm dd yyyy”形式的字符串文字) FILE 代表当前源代码文件名的字符串文字 LINE 代表当前源代码中的行号的整数常量 TIME 源文件编译时间,格式微“hh:mm:转载 2016-09-13 16:35:47 · 312 阅读 · 0 评论 -
链表笔面问题
下面是几个常见的链表笔面问题:[TOC]1.计算链表长度很简单:(复杂度O(n))int list_len(node_t *head){ int i; for (i = 0; head; head = head->next, i++); return i; }测试:int main(int argc, const ch转载 2016-07-28 17:11:20 · 300 阅读 · 0 评论 -
详解sockaddr_ll 设备无关的物理层地址结构
sockaddr_ll: 表示设备无关的物理层地址结构定义:[cpp] view plaincopystruct sockaddr_ll { unsigned short sll_family; __be16 sll_protocol; int sll_ifinde转载 2016-09-30 10:19:23 · 8244 阅读 · 0 评论 -
linux系统中,以太网帧编程
在linux系统中,使用struct ethhdr结构体来表示以太网帧的头部。这个struct ethhdr结构体位于#include之中。123456789101112131415161718192021#define ETH_ALEN 6 //定义了以太网接口的MAC地转载 2016-09-30 13:51:10 · 6400 阅读 · 0 评论 -
取消线程
取消线程取消操作允许线程请求终止其所在进程中的任何其他线程。不希望或不需要对一组相关的线程执行进一步操作时,可以选择执行取消操作。例如,用户请求关闭或退出正在运行的应用程序。另一个示例是完成由许多线程执行的任务。其中的某个线程可能最终完成了该任务,而其它线程还在继续运行。由于正在运行的线程此时没有任何用处,因此取消这个线程。取消点仅当取消操作安全时才应取消线程。pthreads标准指定了几个...原创 2019-09-04 14:14:39 · 313 阅读 · 0 评论