原创 第五章movetest3.s例子

在macOS Terminal中輸入 cc -arch i386 -Wl,-no_pie movetest3.s ./a.out 輸出 The value is 10 The value is 15 The value is 20

原创 Professional Assembly Language 十二章系統調用例子for mac

編譯 $ cc -arch i386 syscalltest.s $ ./a.out hello, world 代碼 .text .globl _main .p2align 4, 0x90 _main:

原创 hello bootsector

代碼: ; boot.asm .model tiny .code org 7c00h start: mov ah, 13h mov al, 01h mov bh, 00h mov bl, 04h mov cx,

原创 初學php,從簡單可見的對象開始

封裝了一下gd庫,用起來方便一些,通過寫這個庫,基本熟悉了php的語法 下面是庫shape.ini文件 <?php final class Range { public $location; public $length;

原创 macOS彙編語言摘要

C++ int global_value = 1; static int static_value = 2; void foo() { static_value = 3; } int global_value_uninit

原创 第四章例子程序

在macOS Terminal中輸入 cc -arch i386 -Wl,-no_pie cpuid.s ./a.out 輸出 The processor Vendor ID is 'GenuineIntel' 代碼如下 # cc

原创 ia-32 C語言棧幀佈局

棧指針 棧內容 ebp間接尋址 frame 1 old ebp value local variable 1 local variable 2 local variable 3 …

原创 javascript中的繼承

摘自Object Oriented Javascript 一書 基於臨時函數的繼承機制 先上代碼: /* Temporary constructor */ function Shape() { } Shape.prototype.n

原创 emacs echo area 不是行緩衝的

在linux環境下學習apue的第8.6小節時發現一個疑似emacs的bug 在emacs裏執行shell-command命令,默認的命令輸出到echo area,但是不是行緩衝的,不知道是不是個bug 可能stdio被重定向到emacs

原创 javascript核心概念

每個對象都有一個隱蔽的__proto__屬性 每個函數都有一個prototype屬性 函數是對象 每個原型都有一個constructor屬性 原型是對象 對象的__proto__屬性指向創建該對象的構造器的prototype 當構造器的p

原创 樹莓派2 gpio led blink實驗

樹莓派2使用的是bcm2836,樹莓派1使用的是bcm2835,據說bcm2836除了CPU使用的是cortex-a7,外設與bcm2835基本相同,因爲官方沒有提供bcm2836的外設參考手冊,所以只能使用bcm2835的外設參考手冊,

原创 makefile太難了,學不會,自己用Python寫個簡單的構建工具

makefile 太複雜了,學的不精。自己用Python寫一個構建工具,經過簡單測試,可用 #!/usr/bin/env python # -*- coding: utf-8 -*- import sys impor

原创 javascript中的super

/* Uber – access to the parent from a child object */ function Shape() { } Shape.prototype.name = 'Shape'; Shape.protot

原创 UNIX Time

Calendar Time 1. time #include <time.h> time_t time(time_t *tloc); 這是一個系統調用,用來獲取從1970-01-01 00:00:00 +0000 (UTC)至今的

原创 golang database/sql 包的使用

database/sql 包的使用 安裝 mysql driver $ go get -v github.com/go-sql-driver/mysql 創建連接池:sql.Open func newPool() *sql.DB {