程序员的自我修养——编译和链接

程序员的自我修养——编译和链接

编译和链接

在一般的IDE中,编译和链接被合并在了一起,称为构建(build),往往一些本质的东西是无法了解到

被隐藏的过程

在Linux下如果使用gcc编译一个c语言程序,只需最简单的命令:
gcc hello.c
./a.out

事实上,上述的过程可以分为4个步骤:

  • 预处理(Prepressing)
  • 编译(Compilation)
  • 汇编(Assembly)
  • 链接(Linking)

GCC编译过程

Read more
Django入门——URL调度器

Django入门——URL调度器

前言

开新坑:Django框架
大一的时候在社团中使用来开发后端,现在整理当时的学习内容并完善,便于后续的查阅。
预计这个模块会有对Django源码的分析,根据我自己的实际情况来(有空就更),目前预计假期会抽出大量时间来阅读分析Django的源代码

什么?你问《程序员的自我修养》那个坑?I’m writing(咕咕咕

URL调度器(URL dispatcher)

本篇博客仅仅介绍在Django中url的书写和配置

博客的撰写基于我自己的使用和官方文档,有些内容还是需要阅读源码才能明白,源码分析的博客暂时处于计划中。

Read more
程序员的自我修养——温故而知新

程序员的自我修养——温故而知新

开新坑,记录我学习《程序员的自我修养》这本书的笔记,加上自己的实践和好的例子

更新不会很快,大二太忙了

配合计算机系统基础这门专业课程一起学习

引言

《程序员的自我修养》这本书讲的主要是操作系统内核,装载,链接等一些技术,理解操作系统如何让一段代码工作起来,如何让不同的二进制模块协同工作。

你可以不自己造轮子,但你应该了解轮子的构造,而且越详尽越好,这就是程序员的自我修养吧。————《程序员的自我修养》

推荐书籍
《深入理解计算机系统》(Computer System A Programmer’s Perspective, Randal E. Bryant和David O’Halaron著)
《Advanced Programing in the UNIX Environment, Second Edition》(UNIX程序设计的“圣经”)

Read more
runtime-test

runtime-test

一般来说,我们的测试代码是测试自己写的代码,测试模块的功能,但如果我们想自动化测试一个.py文件或者exe程序,就完全不一样了
如何自己写一个简易的测评姬?就是实现自动读取样例和输出样例对比来确定程序是否正确

思路:启动一个子线程,将子线程的输入输出流重定向方便我们获取,然后样例标志答案保存至文件,读取即可。

需要用到Python的subprocess模块

Read more
unit-test

unit-test

自动化测试

不同于C和Java等语言编写的程序,Python只有在运行中才会检查一些错误,因此只有在运行和测试程序时,才会知道它是否能够正常的运行。
为了解决这个问题,就有了用于测试,调试和探查Python代码的技术和库模块。

Read more