C/C++
文章平均质量分 79
somyjun
十多年嵌入式系统,网络通信,虚拟化,云计算相关产品的软件设计开发
展开
-
写一个函数判断机器字长 (不用sizeof函数)
#include <stdio.h>/* using sizeof long int */int word_size() { return sizeof(long int); /* the length of long int */}/* using pointer */int word_size(){ void **ptr; // 这里如果没用强制类型...原创 2014-04-17 18:18:03 · 1096 阅读 · 0 评论 -
PF_PACKET说开去
什么PF_PACKET类型的socket PF_PACKET类型socket应用场合 数据层面:驱动程序怎么把报文送到相应的socket buffer 数据层面:内核驱动可以与用户态零拷贝吗? 1. 什么PF_PACKET类型的socket 创建socket的函数如下: fd = socket(int domain, int type, int prot...原创 2018-11-28 18:10:54 · 7113 阅读 · 0 评论 -
gdb适用场景和不适用场景
工程中,经常用gdb调试bug,谈谈其适用性和不适用性。适合的场景:1)验证程序的逻辑 给定条件,得到正确的结果2)查看现场 各种全局、局部变量,对象的值 寄存器、内存 调用栈 不适合的场景:1)每次crack现象不一样的场景,即异常产生的场景不能反映导致异常...原创 2018-11-14 11:36:17 · 699 阅读 · 0 评论 -
gdb调试中两种令人费解的情况解释
gdb这个调试工具怎么使用,在于相关的命令的使用(break、watch、print、continue、next、step等),gdb如何调试,需要结合程序的设计,代码的逻辑,多实践总结。这里解释两个在实践中遇到的令初学者费解的问题: 1)为啥设置了断点 b write_pipe,gdb调试中,在断点处没有停下? 设想下面的情况,一个进程在后台运行过程中CPU占有率1...原创 2018-11-13 17:47:49 · 469 阅读 · 0 评论 -
C语言,用数组实现stack,用stack实现pipe
#include <stdio.h>#include <string.h>#include <stdlib.h>#define TRUE 1#define FALSE 0#define STACK_SIZE 1024typedef int bool;struct istack{ unsigned int top; unsi...原创 2018-08-02 11:50:03 · 465 阅读 · 0 评论 -
C++,实现Vector类,Vector实现Stack
#include <iostream>#include <cassert>#include <string.h>using namespace std;template <class Type>class vector{ public: vector(); vector(int i); ...原创 2018-08-06 11:30:33 · 1053 阅读 · 0 评论 -
C语言,数的表示(整数)
编写test.c#include int main(){ long int a,b; printf("sizeof int is %lu, sizeof long int is %lu\n", sizeof(int), sizeof(long int)); // the size of long int in 64bit machine is 8byt原创 2015-03-13 18:57:27 · 2374 阅读 · 0 评论 -
字符串倒序
编写测试程序,test.c#include char *reverse_str1(char *s){ int i; unsigned int len; char ch; if (NULL == s) return NULL; len = strlen(s); for(i=0; i {原创 2015-03-10 11:20:03 · 529 阅读 · 0 评论 -
C语言,数组,数组名,数组地址
编写test.c#include #include typedef struct STUDENT_S{ char name[12]; int grade; int score;} __attribute__ ((__packed__))STUDENT_T;int main(){ STUDENT_T *p; S原创 2015-03-04 17:21:39 · 937 阅读 · 0 评论 -
字符串长度&大小
#include int main{}原创 2014-09-12 14:53:54 · 2769 阅读 · 0 评论 -
字符串处理
#include #include #define KEYWORD "filter"#define FILTER_FILE "/etc/key_rules.conf"char *clearup_string1(char *buf){ int len; char ch; char *ptr; if (NULL == buf)原创 2014-09-12 14:42:52 · 438 阅读 · 0 评论 -
socket收包函数 buffer大小的设置
Ip_ssize_t recv(Ip_fd sock, void *buf, Ip_size_t len, int flags);Ip_ssize_t recvfrom(Ip_fd fd, void *buf, Ip_size_t len, int flags,struct Ip_sockaddr *from, Ip_socklen_t *fromlen);这个buf大小需要考虑啥,有啥...原创 2019-03-22 16:57:25 · 5660 阅读 · 0 评论