摘要:一、gnu的解决方案 从网上的资料可以看到,gnu对于本地化的支持是基于gettext套件完成。通过xgettext工具扫描代码中出现的字符串,生成po(Portable Object)文件。在代码中再通过特定的函数来读取并对字符串进行本地化。 二、xgettext的实现 1、keyword 从代码
阅读全文
摘要:一、报文跨层传递 所有的网络协议栈都告诉我们:TCP/IP协议栈是分层的,低一层的协议无需也不能感觉到上层的协议,这个观念在我的脑海中根深蒂固,并且由衷的赞叹这种设计的思想,但是在经过一些简单的思考就会发现,这种分层并不是绝对的,正如这世间的一切。一个直观的问题是,一样米养百样人,同样的网卡上,可以
阅读全文
摘要:so运行的方法 在我之前的印象中,so文件是不能直接运行的,但是ld.so改变了我的这种偏见。执行一下动态链接库文件,执行结果为 tsecer@harry :/lib/ld-linux.so.2 Usage: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-P
阅读全文
摘要:一、文件写入的原子性 管道在整个unix系统中有重要的基础设施意义,它使unix工具设计的“职能简单”原则得以实现的基础,不同的工具使用管道协调完成自己的功能,并把一个功能做好。一个想法的提出通常具有明确的场景和简洁的原理,后来需求的不断发展导致问题看起来极为复杂,就像我们现在社会的进化,可能原始社
阅读全文
摘要:一、C库的printf函数簇这些函数其实大家最为熟悉,因为每个人都会写的hello world就是使用了printf这个C库函数。但是printf的实现并不见,如果有兴趣的同学可以看一下glibc中关于这个函数的哦实现,先不说各种格式化的处理以及文件的锁,其中的缓冲区管理及动态资源管理就有相当多的代
阅读全文
摘要:一、unix socket这种套接口感觉在文件系统和套接口中都是一种异类,就好像蝙蝠是兽中的鸟、鸟中的兽一样。它的特点在于一个地址是否被占用是通过一个文件是否存在来确定。这其实是一个比较危险的操作,因为这个文件的存在是持久性创建的文件,会给底层的文件系统造成持久的影响。现在假设说一个程序非正常结束,
阅读全文
摘要:一、端口侦听我们知道,系统中的互联网端口地址是系统级唯一的,在默认情况下,IPV4和IPV6的同一个协议的套接口也不能再同一个端口侦听,而套接口编程的五元组就是<IP,port,peerip,peerport,inet proto>,其中没有进程区分,所以一个系统的套接口对于同一个网络地址来说是唯一
阅读全文
摘要:一、嵌入式系统中文件传输这个工具之前还的确是没有使用到过,可能的原因是因为之前一直使用桌面系统fedora core发行版本,开发主要使用busybox文件系统,而这两种版本中都没有自带sz/rz工具。它们的作用是通过串口来发送和接收文件,虽然说是串口,所有的支持串口协议的软件或者链路都可以,例如使
阅读全文
摘要:一、robust互斥锁这种类型的锁可能不是POSIX标准中规定的锁,但是也有可能是,这个不太确定,暂时不管。这种类型的锁主要是解决当一个持有互斥锁的线程退出之后这个锁成为不可用状态的一个问题来的。可以想象,一个线程可能持有很多的锁,也可能没有,如果此时有一个外部(被其它任务kill)或者内部(出现访
阅读全文
摘要:一、后台任务关于后台任务,我就不在这里拷贝一条一条的定义了。所谓的后台任务引起我的注意,是突然想起了telnetd的一个很拉轰的特征,那就是我们在终端里执行telnetd程序,它不像其它的任务(包括几乎我们可以见到的所有程序,例如cat、login等)只要获得了执行,它就毫不客气的抓住整个终端的输入
阅读全文