[Linux: 编程] unsigned int和int比较的汇编过程

想知道在条件表达式时编译器对两个类型与0x7ffffff的比较做了些什么,于是弄出汇编代码来看看,居然能优化到这个程度,令人发指啊!

先上C语言源码,不解释,实在太简单一个程序了。

#include <stdio.h>
#include <stdlib.h>

int main (int argc, char const* argv[])
{[......]

继续阅读…

Posted in 编程 | Tagged | Leave a comment

[Linux: 编程]unsigned int和int

这篇文章是为了讨论C语言中unsigned int和int两种数据类型的区别,数据类型的主要区别就是占用空间和数据存储方式,我将就这两点进行讨论。
测试环境
Ubuntu 12.04 LTS — Linux Kernel 3.2.0-24-generic-pae
GCC: 4.6.3

注:int是signed int的缩写形式,C语言中所有signed的关键字都省略不写。
占用空间[......]

继续阅读…

Posted in 编程 | Tagged | 2 Comments

[杂七杂八] 信任与失信

这件事情还是和一个孩子有关,为了保护孩子,这里叫小B吧,因为上次用的A做化名。(作者:我有字母顺序强迫症)

B君是个聪明活泼的男孩儿,从他日常行为上来看,智商可以说是超出同龄孩子水平的。但一个人的成就往往和非智力因素关系更大,所以我想帮他树立一些良好的习惯。当然,帮他是一方面,另一方面考虑是为了其他孩子能正常上课。B君所谓不好的习惯就是上课思维过于活跃且发散,经常自言自语,惹得其他孩子分散注[......]

继续阅读…

Posted in 杂七杂八 | Leave a comment

[数学: 数值计算] 使用floyd方法求PI

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# 使用floyd法计算PI的值
#
# 以(0, 0)点为圆心,半径5个单位长度做圆
# 做这个圆的外接矩形(实际是个外接正方形)
# 只观察第一象限
# 圆的面积 = (PI * r * r) / 4
# 外接正方形的面积 = (2 * r) * (2 * r) / 4
#
#[......]

继续阅读…

Posted in 数值计算 | Tagged | Leave a comment

[Linux: 编程] Box2D源码阅读:栈内存分配

/*
* Copyright (c) 2006-2007 Erin Catto http://www.gphysics.com
*
* This software is provided ‘as-is’, without any express or implied
* warranty. In no event will the authors be held liable for a[......]

继续阅读…

Posted in 编程 | Tagged , | Leave a comment

[Linux: 编程] Box2D源码阅读:上层内存分配

/*
* Copyright (c) 2006-2007 Erin Catto http://www.gphysics.com
*
* This software is provided ‘as-is’, without any express or implied
* warranty. In no event will the authors be held liable for a[......]

继续阅读…

Posted in 编程 | Tagged , | Leave a comment

[Linux: 编程] Box2D源码阅读:内存管理

/*
* Copyright (c) 2006-2007 Erin Catto http://www.gphysics.com
*
* This software is provided ‘as-is’, without any express or implied
* warranty. In no event will the authors be held liable for a[......]

继续阅读…

Posted in 编程 | Tagged , | Leave a comment

[Linux: 编程]ArchLinux 配置ruby on rails环境

经过两天的摸索,终于在一台破机器上把ror环境搭建起来了,做个笔记。
1. 安装ruby
ArchLinux下的包的原则就是减少包的数量,将runtime和dev打包在一起。所以一旦你有了一个runtime,也就有了一个开发环境。
sudo pacman -S ruby
安装好ruby后,gem工具也就安装好了。默认的ruby是1.9版本,ArchLinux就是追新啊,图稳定就用其他发行版[......]

继续阅读…

Posted in 编程 | Tagged , | 2 Comments