2019年5月24日

openjdk源码分析之AtomicLong

摘要: 关键代码: 然后看 中compareAndSwapLong的定义: 然后转到具体平台相关的实现类,比如mac下的 可见mac下采用的是cmpxchgq汇编指令实现: "内联汇编" 锁消息总线保证互斥地使用这个内存地址 AT&T汇编格式: 指令 源操作数 目的操作数 "cmpxchg" : 用RAX中 阅读全文

posted @ 2019-05-24 18:34 andyhe 阅读(498) 评论(0) 推荐(0) 编辑

cpp之宏和函数调用约定

摘要: 宏定义 宏中的 和 首先知道理解c中的邻近字符串连接原则,即相邻两个字符串链接起来组成一个字符串。 是合法的并且输出结果是 \ NAME会把传入的参数名当成字符串处理 \ 将 两边的字符连在一起作为一个标识符 VAR_N(age,1) age1 宏的副作用 问题 ` define MIN(A,B) 阅读全文

posted @ 2019-05-24 17:12 andyhe 阅读(391) 评论(0) 推荐(0) 编辑

JNA 相关问题

摘要: JNA 相关问题 结构体对齐问题 要注意调用的c库字段对齐方式的相关设置。 jna中提供了4种对齐方式: 需要在相应的结构体构造函数中加入 设置对应的对齐方式。 unsigned类型处理 java中没有对应的无符号类型,需要进行相应的转换,以byte类型为例(c中的 unsigned char) c 阅读全文

posted @ 2019-05-24 16:23 andyhe 阅读(795) 评论(0) 推荐(0) 编辑

导航