摘要: socket(AF_INET, SOCK_RAW, IPPROTO_IP)返回无效的套接字,权限没有问题(管理员)。问题解决: 需添加: WSADATA da; WSAStartup(MAKEWORD(2, 2), &da); #praga comment(lib, "Ws2_32.lib") 阅读全文
posted @ 2023-08-29 11:24 ericdm 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 问题:一个工程导出静态lib,另一个工程使用Lib中的函数,但是在编译时无法找到Lib中函数,使用dumpbin查看Lib确实导出函数了。 解决: 确保导出工程和使用工程的调用约定要一致,即C/C++ -> Advanced -> Calling Convention的选项要相同,如都是__stdc 阅读全文
posted @ 2023-07-18 17:42 ericdm 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 想用raw socket发送报文,但是在setsockopt(sock, IPPROTO_IP, IP_HDRINCL, (char *)&blnFlag, sizeof(blnFlag);总是失败,尝试了多次,包括管理员权限、blnFlag类型为DWORD等,最后发现还是因为lib的问题,需要在代 阅读全文
posted @ 2023-03-08 11:31 ericdm 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 1. 驱动导出函数: 在 .c 文件中,如下: #include<linux/init.h> #include<linux/kernel.h> #include<linux/module.h> int api_add(int a, int b) { return a + b; } static in 阅读全文
posted @ 2022-04-27 16:59 ericdm 阅读(241) 评论(0) 推荐(0) 编辑
摘要: TARGET_NAME=libstatic.a #TARGET_NAME=libdynamic.so CROSS= CC=$(CROSS)gcc CXX=$(CROSS)g++ #DEBUG=-g DEBUG= MV=mv -f CP=cp -f RM=rm -rf LN=ln -sf AR=ar 阅读全文
posted @ 2022-04-25 16:11 ericdm 阅读(344) 评论(0) 推荐(0) 编辑
摘要: CString m_Send="000A115033AA"; char/*wchar_t*/ *stops, s[3]; unsigned char uc; for (size_t i = 0; i < 10; i++) { s[0] = m_Send.GetAt(i * 2); s[1] = m_ 阅读全文
posted @ 2022-04-14 13:55 ericdm 阅读(569) 评论(0) 推荐(0) 编辑
摘要: 1. 待编译工程选择静态 lib 2. 增加 /kernel 编译选项 注:malloc、new等应用层函数/操作符无法直接使用 阅读全文
posted @ 2022-04-13 16:42 ericdm 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 最近在看驱动代码时发现代码中使用了 __KERNEL__ 宏,通过prink打印判定肯定是走到 #ifdef __KERNEL__ 定义里面去了,即肯定有 __KERNEL__ 的定义,但是VS code中搜索就是找不到这个宏定义(makefile中也没有),最后通过查找,内核源码的Makefile 阅读全文
posted @ 2021-08-31 18:10 ericdm 阅读(88) 评论(0) 推荐(0) 编辑
摘要: IPSec作为主流IP安全协议之一,在单播环境下,特别是在VPN场景中应用广泛。但是在组播环境貌似看到的不多,通过RFC4301了解到IPSec首先是支持组播的,即通过手动配置的方式可以实现组播包加密的功能,简单来说就是在SPD手动添加一个策略,例如目标IP地址为224.11.11.11的组播包,通 阅读全文
posted @ 2021-08-10 09:40 ericdm 阅读(633) 评论(0) 推荐(0) 编辑
摘要: 在使用JavaSript的FileSaver保存文件时,IE11上好的,chrome上反没响应,不能保存文件。寻找了半天,最好发现是因为在FileSaver之外还有一个自定义的全局URL变量,把这个URL变量重命名一下就好了。 阅读全文
posted @ 2021-03-04 10:09 ericdm 阅读(393) 评论(0) 推荐(0) 编辑