2016-07-15 craneyuan
直接在源码网站下载 github gnu软件列表 Linux各种发行版的在线软件列表,列如ArchLinux在线软件包 在Linux发行版下通过包管理器下载 因为不同的发行版有不同的软件包管理机制,所以在此我只简单介绍ArchLinux和Ubuntu的源码下载方法,其他的发行版请自行参考网上相关文档。 more ArchLinux下通过abs(Arch Build System)下载 首先,通过pacman安装abs工具 sudo pacman -S base-devel abs 然后,下载abs树 sudo abs 接着,下载特定的软件包 bash sudo abs [package_name] 列如find包: 继续阅读 »
2016-06-06 craneyuan
Question Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the linked list becomes 1->2->3->5. Note: Given n will always be valid. Try to do this in one pass. 解说 这道题的意思是,如何反向删 继续阅读 »
2016-06-03 craneyuan
本来打算写点什么的,突然头脑中一阵风暴,我就静静地在时光的隧道中穿梭了好几年,有过去,也有将来。待我思绪渐渐清晰时,把手放在熟悉的按键上,我竟然有点不知所措。有些东西看来还是不适合分享,那就为了纪念这次的沉思,放上我亲自拍摄的几张落日图吧! 底下还有一幅近景落日图 more 继续阅读 »
2016-05-21 craneyuan
为二维数组动态分配内存涉及以下两个问题: 数组元素是否需要连续 数组是否规则 在这里我们暂时不考虑数组是否规则,我们从数组元素的分配是否连续考虑。 已知第二维 c // 数组指针 char (*a1)[COLUMNS]; a1 = (char(*)[COLUMNS])calloc(ROWS,sizeof(char*)); more 已知第一维 c // 指针数组 char *a2[ROWS]; for(int i = 0; i < ROWS; i++) { a2[i] = (char*)calloc(COLUMNS, sizeof(char)); } 已知第一维,一次分 继续阅读 »
2016-05-18 craneyuan
Question Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight). For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011, so the function should return 3. 解说 这道题的意思是统计32位整数二进制格式下的‘1’的个数。 more Solution rig 继续阅读 »
2016-05-06 craneyuan
Question Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution. Example: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1]. UPDATE (2016/2/13): The return forma 继续阅读 »
2016-04-10 craneyuan
什么是Check Check是C语言的一个单元测试框架。它提供一个小巧的单元测试接口。测试案例运行在各自独立的地址空间,所以断言失败和代码错误造成的段错误或者其他的信号可以被捕捉到。另外,测试的结果显示也兼容以下这些格式:Subunit、TAP、XML和通用的日志格式。 Check is a unit testing framework for C. It features a simple interface for defining unit tests, putting little in the way of the developer. Tests are run in a separate address space 继续阅读 »
2016-04-05 craneyuan
什么也不说上图 继续阅读 »
2016-04-04 craneyuan
autotools系列工具—-自动生成Makefile 在较大项目中, 如果手动维护Makefile, 那将是一件复杂并痛苦的事情. 那么, 有没有一种轻松的手段生成Makefile呢? autotools系列工具正是在这样的呼声中诞生的. 它只需用户输入简单的目标文件, 依赖文件, 文件目录等就可以轻松地生成Makefile了. 另外, 这些工具还可以完成系统配置信息的收集, 从而可以方便地处理各种移植性问题. autotools是系列工具, 它含有: autoscan aclocal autoconf autoheader automake autotools 使用流程 下面用一个简单的hello.c程序, 演示autot 继续阅读 »
2016-03-30 craneyuan
位图排序简介 位图排序的直接思路是想通过有限位数(比如1位)去映射一个整数,从而节省存储空间,而间接带来的好处是给指定数据集合排序了。 实际案例介绍 本案例摘抄自《编程珠玑》一书。 输入: 所输入的是一个文件,至多包含n个正整数,每个正整数都要小于n,这里n=10^7。如果输入时某一个整数出现了两次,就会产生一个致命的错误。这些整数与其他任何数据都不关联。 输出: 以非递减形式输出经过排序的整数列表。 约束: 至多(大概)只要1MB的可用主存;但是可用磁盘空间非常充足。运行时间至多只允许几分钟;10分钟是最适宜的运行时间。 代码实现如下 more ``` java include include in 继续阅读 »