摘要: 占位符 阅读全文
posted @ 2020-09-20 21:42 fansai 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 1.Frameworks:IOKit.framework 2.导入头文件 #import <IOKit/hid/IOHIDLib.h> 3.初始化IOHIDManager IOHIDManagerRef managerRef = IOHIDManagerCreate(kCFAllocatorDefa 阅读全文
posted @ 2021-08-30 10:54 fansai 阅读(1234) 评论(0) 推荐(0) 编辑
摘要: 使用代码在mac上移动文件到系统目录比如/usr/local,会出现权限不足问题。 解决方法:https://stackoverflow.com/questions/68678431/applescript-how-to-copy-file-to-system-path/68694914#68694 阅读全文
posted @ 2021-08-11 09:47 fansai 阅读(575) 评论(0) 推荐(0) 编辑
摘要: 一、进程间通信的概念 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess 阅读全文
posted @ 2020-10-09 09:58 fansai 阅读(201) 评论(0) 推荐(0) 编辑
摘要: C++ 和C语言类似,也要经过编译和链接后才能运行。在《C语言编译器》专题中我们讲到了 VS、Dev C++、VC 6.0、Code::Blocks、C-Free、GCC、Xcode 等常见 IDE 或编译器,它们除了可以运行C语言程序,还可以运行 C++ 程序,步骤是一样的,这里不再赘述,读者需要 阅读全文
posted @ 2020-09-20 21:52 fansai 阅读(520) 评论(0) 推荐(0) 编辑
摘要: C++ 是一门面向对象的编程语言,理解 C++,首先要理解类(Class)和对象(Object)这两个概念。C++ 中的类(Class)可以看做C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含若干成员变量,每个成员变量的类型可以不同;可以通过结构体来定义结构体变量,每个变量拥有 阅读全文
posted @ 2020-09-20 21:49 fansai 阅读(318) 评论(0) 推荐(0) 编辑
摘要: C++ 读作“C加加”,是“C Plus Plus”的简称。顾名思义,C++ 是在C语言的基础上增加新特性,玩出了新花样,所以叫“C Plus Plus”,就像 iPhone 7S 和 iPhone 7、Win10 和 Win7 的关系。从语法上看,C语言是 C++ 的一部分,C语言代码几乎不用修改 阅读全文
posted @ 2020-09-20 21:45 fansai 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 如果一个函数是通过值传递而不是引用传递的话,那么它真正传递的其实是实参的副本,该副本产生必定会调用复制构造函数。 那么,试想一下,如果我们的拷贝构造函数是通过值传递的话,它就会调用它本身来产生一个副本,就这样会无限递归下去,而如果传递引用,就不会产生副本,也不会调用拷贝构造函数,问题得以解决。 阅读全文
posted @ 2020-08-23 17:17 fansai 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 函数调用时需要用到栈(STACK,一种先入后出的存储结构)。当函数调用完成后,栈需要清除,这里就是问题的关键,如何清除? 如果我们的函数使用了_cdecl,那么栈的清除工作是由调用者,用COM的术语来讲就是客户来完成的。这样带来了一个棘手的问题,不同的编译器产生栈的方式不尽相同,那么调用者能否正常的 阅读全文
posted @ 2020-07-15 21:13 fansai 阅读(215) 评论(0) 推荐(0) 编辑
摘要: static 声明的变量在C语言中有两方面的特征:1.变量被放在程序的全局存储区中,这样在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。2.变量用static告知编译器,自己仅在变量的作用范围内可见。这一点是它与全局变量的区别。Tips:A.若全局变量仅在单个C文件中访问 阅读全文
posted @ 2020-07-01 21:47 fansai 阅读(433) 评论(0) 推荐(0) 编辑