• 写给程序员的 Unicode 入门介绍

    日期:

    程序员世界对这个名字发自内心的恐惧和敬畏。我们都知道在我们的软件中应该 支持 Unicode(无论是什么意思对所有的字符串使用 wchar_t ,是吗?)。但 Unicode 很深奥,它有上千页的Unicode 标准,还有几十页的补充附录、报告和注解,简直太吓人了。即使 Uni...

  • 编程必备,程序员应该都知道的7款文本编辑器

    日期:

    正如一个作家需要一个文字处理器来写故事,一个艺术家需要画布来创作,同样的,如果想编程,你会需要一个地方来写代码。 程序员在哪里编写代码?最常见的就是使用文本编辑器了吧。 下文列出了7个主流的文本编辑器,不出意外的话,开发人员应该都有所了解,至...

  • 初创公司选择 Swift 而不是 Objective-C 的七个原因

    日期:

    在我们 最后一篇博客 中,我们认为 Swift 将成为最流行的移动应用开发趋势之一,这将会在 2017 年得到验证,这是必须的!如果你对 iOS 世界保持时刻关注,你一定知道 Swift 在 2016 年 12 月份在慢慢地平滑地替代 Objective-C 的地位。 然而,很多人还没意识...

  • 2017 年高薪编程语言排行榜,你的语言上榜没?

    日期:

    选择正确的编程语言进行学习无疑成为左右个人发展投资成功与否的关键。在今天的编程语言推荐榜中,我们参考了大量可靠且信誉卓著的消息来源。其中采用的指标包括语言普及度、语言相关网页数量与提及频率、招聘岗位与指导材料数量乃至相关开源代码库丰富性等...

  • 在 Linux 中如何使用 gdb 调试 C 程序

    日期:

    无论多么有经验的程序员,开发的任何软件都不可能完全没有 bug。因此,排查及修复 bug 成为软件开发周期中最重要的任务之一。有许多办法可以排查 bug(测试、代码自审等等),但是还有一些专用软件(称为调试器)可以帮助准确定位问题的所在,以便进行修复。...

  • Linux 平台相关代码的 C++ 解决方案

    日期:

    本文首先提出平台相关代码造成的两个问题,然后针对这两个问题循序渐进依次提出解决方案,在分析了前两个方案弱点的基础上,最后着重介绍一种基于多种 设计模式 的 Linux 平台相关代码的解决方案,并给出此方案的 C++ 实现。 Linux 平台相关代码带来的问题...

  • Linux环境多线程编程基础设施

    日期:

    本文介绍多线程环境下并行编程的基础设施。主要包括: Volatile __thread Memory Barrier __sync_synchronize volatile 编译器有时候为了优化性能,会将一些变量的值缓存到寄存器中,因此如果编译器发现该变量的值没有改变的话,将从寄存器里读出该值,这样...

  • Linux 中的 fork() 函数实例解析

    日期:

    一、fork 入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()...

  • Linux动态链接库的创建与使用

    日期:

    Linux动态链接库的创建与使用 1. 介绍 使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个程序函数库简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。程序函数库可以使整个程序更加模块化,更...

  • Linux C 实现mysleep数

    日期:

    先了解一下SIGALRM信号、alarm函数和pause函数。 SIGALRM 时钟定时信号, 计算的是实际的时间或时钟时间. alarm函数使用该信号. unsigned int alarm(unsigned int seconds); alarm也称为闹钟函数,它可以在进程中设置一个定时器,当定时器指定的时间到时,它...