• Linux汇编与C互相调用

    日期:

    一. 概述 汇编通过call指令调用C函数,call指令主要有两个功能:1.将下一条指令的地址保存在栈顶;2.设置eip指向被调用程序代码的开始处。汇编使用ret指令返回,ret的功能是把返回地址从桟里弹出,并转到该地址去执行。 汇编程序调用C函数时,函数的入口参数...

  • Linux编译多个文件

    日期:

    Linux内核和许多其他自由软件以及开放源码应用程序都是用 C 语言编写并使用 GCC编译的。 编译C++程序: -c 只编译不连接 g++ file1 -c -o file1.o g++ file2 -c -o file2.o g++ file1.o file.o -o exec g++ -c a.cpp 编译 g++ -o a a.o 生成可执行文件 也可以...

  • 程序员必知之前端演进史

    日期:

    原文:http://www.jianshu.com/p/a6f35a48c075/comments/956260 细细整理了过去接触过的那些前端技术,发现前端演进是段特别有意思的历史。人们总是在过去就做出未来需要的框架,而现在流行的是过去发明过的。如,响应式设计不得不提到的一个缺点是:它只是将...

  • 程序员必备:100本免费编程图书(英文)

    日期:

    programming-books 编程是计算机科学中一个非常复杂且重要的任务。我们在计算机系统、移动手机或其他地方所享受的,都是程序员通过无尽的努力开发出来的。编程分两种类型:机器水平的和高级编程。大多数程序员都依赖于高级编程。编程就是利用一些预定义的规...

  • 编程中改变环境变量

    日期:

    exec 系统调用执行新程序时会把命令行参数和环境变量表传递给 main 函数。 环境变量表是一组字符串char ** environ,主要成员有 PATH:可执行文件搜索路径。 SHELL:当前Shell TERM:当前终端类型,在图形界面终端下它的值通常是 xterm ,终端类型决定了一些程...

  • Linux编程的几个基本概念

    日期:

    系统调用 是指操作系统提供给用户程序调用的一组 特殊 接口,用户程序可以通过这组接口来获得系统内核提供的服务。在 linux 中,为了更好的保护内核空间,将程序的运行分为 内核空间 和 用户空间 ( 即常说的内核态和用户态 ) ,他们在逻辑上是相互隔离的。 l...

  • 优秀程序员的18大法则

    日期:

    经过多年的积累,我发现,下面这些基本的指导法则,可以帮助我成为一个更加高效的程序员。 程序设计法则,与设计和工程的原理密切相关。下面这些编程法则帮助我让我获益匪浅,所以我想分享给大家,希望也能帮助大家更高效,生产出的代码更容易维护,并且bug...

  • 程序员应该避免的 5 种代码注释

    日期:

    你有没有这样的经历:别人审查过你的代码之后给出的注释,你认为是没有必要的?注释代码是为了提高代码的可读性,目的是为了能让其他人更容易理解你的代码。 我特别讨厌这5种注释类型以及制造它们的 程序员 。希望你不是其中之一。 1.自以为很了不得的程序员...

  • 编码之道:取个好名字很重要

    日期:

    代码就是程序员的孩子,给孩子取个好听的名字很重要! 我们在项目开发中,接触到的变量、函数、类多数都是项目自己定义的,往往都是为了解决一些特定的领域的问题,引入了各种各样的概念,代码里面的名字就对应着问题领域或方案领域的这些概念,所以,对于一...

  • 优秀API设计的十大原则

    日期:

    每个软件开发人员都使用API。优秀的API设计就像魔法。不过,我不知道有多少人可以解释为什么有的API很复杂、很难学,而有的则干净、简单、使用起来堪称是一种快乐。关于这个问题,我将在文中回答,并提供优秀API设计的十条法则。 api-logo 1.只做你今天需要...