低情商的13个表现 --------------------------------------------------------------------- — THE END —…
1. 入口函数和程序初始化 1.1 程序从main开始吗? 当程序执行到main函数的第一行时,很多事情都已经完成了: [证1]如下是一段C语言代码: 代码中可以看到,在程序刚刚执行到main的时候,全局变量的初始化过程已经结束了(a的值已经确定): main函数的两个参数(argc 和 argv)也被正确的传了进来: 此外,堆和栈的初始化 已经完成: 一些 系统I/O 也被初始化了,因此,可以放心的使用printf和malloc. [证2]如下是一段C++ 代码,main之前能够执行的代码还会…
第一章 从 Hello world 说起 抛出问题: 1.程序为什么要被编译器编译后才能执行? 2.编译器在把C语言程序转换成可以执行的机器码的过程中做了什么,怎么做的? 3.最后编译出来的可执行文件里面是什么?出了机器码还有什么?它们怎么存放的,怎么组织的? 4.#include<stdio.h>是什么意思?把<stdio.h>包含进来意味着什么?C语言库又是什么?它怎么实现的? 5.不同的编译器(Microsoft VC.GCC)和不同的硬件平台(x86.SPARC.MIPS.…
摘要:升职加薪,出任 CTO,迎娶白富美/高帅富,走向人生巅峰是很多人的梦想.在本期的热点速览中你将了解自由作者 Easy 如何优雅赚取零花钱的方法,以及定投改变命运 -- 让时间陪你慢慢变富.说到程序员自我增值,除了优雅赚钱之外,还可以研究下各种生活中小工具的代码实现,例如,收录 20+ Web 小应用的 vanillawebprojects.将技术应用在生活中点滴,展现你的技术辅助日常"肝"口袋妖精,或者偶尔用技术给自己生活添加点小乐趣,用遗传算法制作一个绘制图像过程的小玩具. 以…
有关Java程序员的面试自我介绍范文(一) 我叫XXX,今年21岁,毕业于XX解放军信息工程大学计算机科学与技术专业,拥有扎实的Core Java基础,良好的编程风格;熟悉JSP+Servlet+JavaBean模式的WEB开发;熟悉Struts,Hibernate,Spring等开源框架,了解EJB; 熟悉Tomcat,Jboss服务器等,熟悉基于Linux及Unix环境下的软件开发. 在校期间有多次社会实践经历,曾参与过学院网上虚拟实验室开发的需求分析,大学期间多次担任多课程的课代表.虽然实…
一个程序要诞生涉及前后端技术,比如,你可以用可视化网页搭建工具 tmagic-editor 完成前端部分,而后端部分的数据库以及数据处理可能就要用到 jsonhero-web 和 directus.知其然知其所以然,DDIA 则带你了解数据库设计背后的思考.更甚者,你对数据背后的验证有兴趣,你可以通过 adx 项目来了解数据通信. 以下内容摘录自微博@HelloGitHub 的 GitHub Trending 及 Hacker News 热帖(简称 HN 热帖),选项标准:新发布 | 实用 |…
  在程序中写日志是一件非常重要,但是很容易被开发人员忽视的地方.写好程序的日志可以帮助我们大大减轻后期维护压力. 在实际的工作中,开发人员往往迫于的巨大时间压力,而写日志又是一个非常繁琐的事情,往往没有引起足够的重视. 如果我们的开发人员在一开始就养成一个良好的习惯将非常有帮助.并且在实际的工作中也应当为写日志预留足够的时间.   我们为什要写日志呢? 一般来讲,我们在程序中记录日志出自下面几个方面的需求.   * 记录用户操作的审计日志,甚至有的时候就是监管部门的要求. * 快速定位问题的根…
求质数算法的N种境界 求质数算法的N种境界[1] - 试除法和初级筛法 过程 尽管题目并没有要我们写一个最优的算法,但是身为一个程序员,优化应该是一种习惯,在编程的过程中,随着思考进行优化. 如果你只能想出一个最简单的方法,难道你会有什么竞争力吗? 1 最容易想到 最开始我用的就是这个方法,可以说这是最简单的一种方法了,而且最开始,我就是想的这种方法,说明:我没有对这个问题进行思考,没有去优化它,而作为一个程序员,如何提高效率是拿到一个问题首先要思考的事情. public static void…
十年前,笔者还是一个刚毕业的大学生,对IT业只是停留在学校的编程知识领域.刚出社会,有很多需要学习的地方.在这十年间,笔者经历了程序员,技术经理,项目经理,部门经理等职位.本文就是要说说如何从程序员到部门经理的经验. 对于程序员,按笔者在<软件项目角色指南>一文中的称呼,应该称为软件工程师.大家可以去看看该系列中对软件工程师的职责等内容,希望大家能对该角色有一定的理解.软件工程师要做的事情还是比较多的,因为在项目中可能要涉及到很多方面的内容,所以,软件工程师往往身兼多职.软件工程师在项目中的作…
知识杂项 obj文件:当前源代码编译成二进制目标文件 exe文件:将.obj文件与库文件.lib等文件链接生成的可执行文件 一个现代编译器的主要工作流程如下: 源程序(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编程序(assembler)→ 目标程序(object code)→ 连接器(链接器,Linker)→ 可执行程序(executables) 映像:因为PE文件在装载时被直接映射到进程的虚拟空间运行.它是进程虚拟空间的映像.所以PE…