Linux/Android系统调用示例

什么是系统调用

计算机系统的各种硬件资源是有限的,在现代多任务操作系统上同时运行的多个进程都需要访问这些资源,为了更好的管理这些资源进程是不允许直接操作的,所有对这些资源的访问都必须有操作系统控制。也就是说操作系统是使用这些资源的唯一入口,而这个入口就是操作系统提供的系统调用(System Call)。在linux中系统调用是用户空间访问内核的唯一手段,除异常和陷入外,他们是内核唯一的合法入口。

……

阅读全文

使用OmniPlan管理自己的开发时间

OmniPlan是一个项目管理工具,价格也还OK,328RMB就可以到手了。~

作为一个时间管理观念较强的开发人员来说,自己画一下甘特图跟踪一下进度也是很不错的。

  • 跟踪自己的开发记录
  • 跟踪自己的需求变更(snapshot),是谁阻碍了进度一目了然
  • 当你需要发周报的时候,只要一个甘特图发出来,大家便知你一周的具体工作
  • 官方入门只需要10分钟,无需知乎、Google漫天搜索教程
……

阅读全文

gomobile入门指南

初始化环境

官方的WiKi链接:https://github.com/golang/go/wiki/Mobile ,但我感觉它写得不是很好,尤其是gomobile init的部分。

首先,我安装了Android Studio,安装好之后,默认的SDK路径是/Users/scue/Library/Android/sdk

其次,我安装了Android NDK,安装好之后,我这边的路径是/Users/scue/source/Android/android-ndk-r16b

随后,我们依次执行以下命令来安装gomobile和初始化gomobile

……

阅读全文

gomobile遇到的问题合集

GO语言支持移动开发,可以直接将已有GO代码编译成一个libgojni.so的形式,然后通过Java层代码去调用它,就可以让原本是二进制的程序,变成了一个apk形式去运行。

gomobile目前尚处于实验室阶段,但凡这种实验性的,遇到点问题都是很正常的,比如本文章所述的内容,可能你将来也会遇到。

……

阅读全文

GO语言获取程序自身MD5值

获取自身的MD5值可能有很多用途,比如我们将程序运行客户端时,我们就可以通过对比MD5值来确保自己的程序没有被恶意地篡改。

……

阅读全文

GO语言执行命令超时的设置

golang实际开发中,难免会涉及到调用其他的命令,如果其他的命令输出需要太久的话,我们可能就不会去等待它了,而是期望像我们平时使用Ctrl+C一样将它给停止掉,然后观察它的输出。

……

阅读全文

GO语言AES加密

平时工作难免会有一些信息是非常重要的,不期望被他人给明文窃取,尤其是一些重要的资料进行落地的时候,需要进行一下加密。

……

阅读全文