个人介绍
熟悉数据结构、算法、操作系统、计算机网络等计算机基础知识。
了解Linux操作系统,能熟练使用gcc、gdb等开发工具。
熟悉嵌入式系统开发,具备一定的硬件基础知识。
具备良好的团队协作和沟通能力。
负责编写数据抓包模块的C语言代码;
实现数据包解析功能,提取关键信息;
优化程序性能,提高抓包速度。
对编程有浓厚兴趣,具备较强的自学能力和动手能力。
工作态度认真负责,具备良好的抗压能力。
善于与他人沟通,具备团队合作精神
工作经历
2024-01-01 -至今无无
#include #include // 函数声明 bool isValidInput(); void addNumbers(int a, int b); int main() { int num1, num2; // 提示用户输入,并进行输入验证 printf("请输入两个整数,用空格隔开:"); while (!isValidInput(&num1, &num2)) { printf("输入无效,请确保输入的是两个整数:"); } // 调用函数进行加法运算并打印结果 addNumbers(num1, num2); return 0; } // 函数定义 bool isValidInput(int *a, int *b) { return scanf("%d %d", a, b) == 2; } void addNumbers(int a, int b) { int sum = a + b; printf("%d 和 %d 的和是 %d\n", a, b, su
教育经历
2020-09-01 - 2023-06-01西安建筑科技大学华清学院信息安全技术本科
负责编写交通信号灯控制模块的C语言代码; 设计并实现信号灯状态切换算法,提高路口通行效率; 参与项目需求分析,协助团队完成系统调试。 项目名称:网络通信协议分析工具 项目时间:2020.01 - 2020.04 项目描述:该项目是一款用于分析网络通信协议的数据抓包工具。
技能
#include #include #include int main() { int secretNumber, guess, attempts = 0; const int MAX_ATTEMPTS = 5; // 初始化随机数生成器 srand(time(NULL)); // 生成1到100之间的随机数 secretNumber = rand() % 100 + 1; printf("欢迎来到猜数字游戏!你有%d次机会猜对数字。\n", MAX_ATTEMPTS); do { printf("请输入你的猜测(1-100):"); scanf("%d", &guess); attempts++; if (guess > secretNumber) { printf("太大了!\n"); } else if (guess < secretNumber) { printf("太小了!\n"); } else { printf("恭喜你,猜对了!你用了%d次机会。\n", attempts); break; } } while (attempts < MAX_ATTEMPTS); if (attempts == MAX_ATTEMPTS) { printf("很遗憾,你没有在%d次机会内猜对数字。正确的数字是%d。\n", MAX_ATTEMPTS, secretNumber); } return 0; }
#include #include #include #include #define BUFFER_SIZE 10 #define PRODUCER_SLEEP_SEC 1 #define CONSUMER_SLEEP_SEC 2 // 全局变量 int buffer[BUFFER_SIZE]; int in = 0; int out = 0; int count = 0; pthread_mutex_t mutex; pthread_cond_t can_produce; pthread_cond_t can_consume; // 生产者函数 void* producer(void* arg) { int item; while (1) { // 生产一个项目 item = rand() % 100; sleep(PRODUCER_SLEEP_SEC); // 锁定互斥量 pthread_mutex_lock(&mutex); // 如果缓冲区已满,等待消费者消费 while (count == BUFFER_SIZE) { pthread_cond_wait(&can_produce, &mutex); } // 将项目添加到缓冲区 buffer[in] = item; in = (in + 1) % BUFFER_SIZE; count++; printf("生产者生产了: %d\n", item); // 唤醒消费者 pthread_cond_signal(&can_consume); // 解锁互斥量 pthread_mutex_unlock(&mutex); } return NULL; } // 消费者函数 void* consumer(void* arg) { int item; while (1) { // 锁定互斥量 pthread_mutex_lock(&mutex); // 如果缓冲区为空,等待生产者生产 while (count == 0) { pthread_cond_wait(&can_consume, &mutex); } // 从缓冲区取出一个项目 item = buffer[out]; out = (out + 1) % BUFFER_SIZE; count--; printf("消费者消费了: %d\n", item); // 唤醒生产者 pthread_cond_signal(&can_produce); // 解锁互斥量 pthread_mutex_unlock(&mutex); sleep(CONSUMER_SLEEP_SEC); } return NULL; } int main() { pthread_t prod, cons; // 初始化互斥量和条件变量 pthread_mutex_init(&mutex, NULL); pthread_cond_init(&can_produce, NULL); pthread_cond_init(&can_consume, NULL); // 创建生产者和消费者线程 pthread_create(&prod, NULL, producer, NULL); pthread_create(&cons, NULL, consumer, NULL); // 等待线程结束 pthread_join(prod, NULL); pthread_join(cons, NULL); // 销毁互斥量和条件变量 pthread_mutex_destroy(&mutex); pthread_cond_destroy(&can_produce); pthread_cond_destroy(&can_consume); return 0; }