分类 "Unix/Linux" 的存档.

GNUmakefile native-objc-exceptions does not match that of gnustep-base

  参考资料: http://www.gnustep.it/nicola/Tutorials/WritingMakefiles/WritingMakefiles.html
  在使用GNUmakefile文件的时候,按照官方文档建好之后却编译失败了,报错误:
error: #error The current setting for native-objc-exceptions does not match that of gnustep-base … please correct this.
h.m: In function ‘main’:
h.m:4: error: stray ‘@’ in program
h.m:4: error: ‘autoreleasepool’ undeclared (first use in this function)
h.m:4: error: (Each undeclared identifier is reported only once
h.m:4: error: for each function it appears in.)
h.m:4: error: expected ‘;’ before ‘{’ token
gmake[3]: *** [obj/h.obj/h.m.o] Error 1
gmake[2]: *** [internal-tool-all_] Error 2
gmake[1]: *** [h.all.tool.variables] Error 2
make: *** [internal-all] Error 2
阅读更多…

Mac OS下用串口调试工具minicom调试iTop-4412开发板

  最近拿到了一块iTop-4412的开发板,原装的系统是Android4.0.3的,我想给换个Ubuntu的系统,不过第一步是先连上串口再说。我手头上还找了一个普通PL2303芯片的usb转串口线。
阅读更多…

ar命令详解

  ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。
  下面是GNU上面的命令,MAC下面的ar命令与此有一些差异。 阅读更多…

错误shell_session_update: command not found解决方法

  最近运行CodeRunner的时候,总会发现日志输出台会打印一句话:

/bin/bash: shell_session_update: command not found

  可能是因为是从非官方的渠道获得的原因,我没有太在意,就过今天运行python的时候,也发现了这句话,我才意识到这个应该是某一个环境变量配置错误啦。
  上网上找了下,发现是rvm的问题,刚好我电脑上rvm版本有点旧,就升级了一下,解决了:

rvm get head

Mach-o格式头部结构

  Mach-o格式,是Mach操作系统内核(Mac、iOS系统的内核)主要支持的可执行文件格式。
  用otool工具可以查看Mach-o的头部,并参考Xcode自带的关于Mach-o的头文件仔细分析了一下,关于Mach-o的头文件在/Applications/Xcode.app/Contents/Developer/Platforms/
iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/mach-o下面。
  Note:下面的宏定义以MH_开头,应该是mach_header的缩写。
阅读更多…

clang之编译步骤

  记录一次clang如何一步一步的编译的。
  写一个最基本的Hello world,然后保存位a.m。
阅读更多…

如何在Mac OSX上面生成core dumps

  使用环境:macOS Sierra 10.12.3。
  core dumps被认为是一种很原始的调试工具并不恰当。事实上,它在调试困难的问题时是非常有用的,尤其是当你在本地不能重现这个问题的时候。
  你可以把 limit core unlimited 添加到 /etc/launchd.conf 文件中,来打开系统级别的core dumps开关。如果没有 /etc/launchd.conf 文件就创建一个,然后重启电脑。更多信息请查看 launchd.conf 的man页面。
  另外你如果想在Terminal下面运行你的程序,你可以预先在Shell里面设置core dumps的大小。 阅读更多…

有意思的大端序和小端序

  多字节对象(比如int是4字节)都被存储为连续的字节序列。存储方法一般分两种:多个字节的高位放在存储地址上面的高位,或者放在低位上。
  平常我们打开文件阅读,都是从低到高的顺序阅读的,和大端序的顺序一样,小端序需要倒着念。比如一个int数值0x12345678,在地址0x100开始放置。下表的左边显示的是地址。
阅读更多…

如何快速的把centos6.8的内核升级到3.10.28

  最近为了玩docker,官方要求的是内核3.8以上,centos6.8的内核才2.6啦,远远不够得需要升级。在网站找了不少的帖子发现好多需要各种设置各种源码编译,看着就麻烦,万一他的教程(不知道从哪儿复制别人的时候),遗漏了两行,那就绝对的进坑了。终于找到了一篇很短的,只需要5部就能搞定的教程。参考 使用yum快速升级CentOS 6.5内核到 3.10.28
阅读更多…

mail命令使用外部smtp来发送邮件

  bin/mail会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置非常麻烦,而且会带来不必要的资源占用。我觉得更重要的是,发送的邮件成功率会高一些。而通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的。
   阅读更多…