Simple
Sand
Samples
プログラミング言語サンプル集
TOPへ
Hello World!(各言語のTOP)
awk AWKコマンド
banner 花文字(バナー)
basename パスからファイル名抽出
cal カレンダー表示
cat ファイルの連結、内容表示
cd ディレクトリ変更
cksum CRCチェックサム
cp ファイルコピー
cut テキスト列抽出
date 日付と時間
dd バイナリ生成
diff ファイル比較
dirname パスからディレクトリ名取得
expand タブスペース変換
ed エディタ
find ファイル検索
gdb GNUデバッガ
git バージョン管理
global ソースコードTAGGING
grep 文字列検索
hd バイナリ16進ダンプ
head テキスト先頭抽出
hexdump バイナリダンプ
join フィールド一致行結合
ld リンクコマンド
ln シンボリックリンク
ls ファイルリスト
lv 文字コード変換
md5sum MD5メッセージダイジェスト
mkdir ディレクトリ作成
mv ファイル名(ディレクトリ)変更
netdiscover コンピュータ検索
nl 番号付け
od バイナリダンプ
paste ファイルを横に並べて表示
patch パッチを当てる
perl Perlコマンド
pr ページ付け、段組
printf 書式付き表示
pushd,popd ディレクトリ変更復帰
pwd カレントディレクトリ表示
rename ファイル名を一括変更
rev テキスト左右反転
rmdir 空のディレクトリ削除
scp リモートファイルコピー
sed ストリームエディタ
seq 数列生成
sort ソート
split ファイル分割
sleep 指定時間遅延
sum チェックサム
svn バージョン管理
tac テキスト上下反転
tail テキスト末尾抽出
tar 書庫操作、圧縮、解凍
touch タイムスタンプ更新
tr 文字一括置換
unexpand スペースタブ変換
uniq ソート済テキストの重複削除
vim vimエディタ
wc 単語数行数カウント
xargs 引数作成
zip,unzip ZIP圧縮解凍

説明のないとってもシンプルなサンプルプログラム集
COBOL awk C言語 D言語 GO言語 Lua Vim
bash Perl Gauche Clojure CLISP EmacsLisp VimScript
tcsh Ruby Groovy Java C# VBScript JavaScript
Io言語 Python Erlang Scala VB.NET Excel/VBA PHP
Tcl Haskell OCaml PowerShell Windows Unix/Linux

Linuxコマンド > ld リンクコマンド

1
ld [options] file...

sample.c(C言語ソース例)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int a;
int b=100;
void c() __attribute__ ((section (".ABC_SECTION")));
int main()
{
c();
}
void c()
{
}

sample.ld(リンカスクリプト例)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
samplelabel = 0x1000;
MEMORY
{
rom (rx) : ORIGIN = 0, LENGTH = 128K
ram (!rx) : org = 0x10000, l = 1M
ram2 (!rx) : org = 0x40000, l = 4M
}
SECTIONS
{
.text : { *(.text) } > rom
.data : {
*(.data)
*(.ABC_SECTION)
} > ram
.bss : { *(.bss) } > ram2
}
~$ ls
sample.c
sample.ld
~$ gcc -c sample.c
~$ ls
sample.c
sample.ld
sample.o

リンカスクリプトを指定してリンクコマンド実行

~$ ld -T sample.ld sample.o

メモリMAP表示

~$ ld -T sample.ld sample.o -MAP

Allocating common symbols
Common symbol       size              file

a                   0x4               sample.o

Memory Configuration

Name             Origin             Length             Attributes
rom              0x0000000000000000 0x0000000000020000 xr
ram              0x0000000000010000 0x0000000000100000 !xr
ram2             0x0000000000040000 0x0000000000400000 !xr
*default*        0x0000000000000000 0xffffffffffffffff

Linker script and memory map

                0x0000000000001000                samplelabel = 0x1000

.text           0x0000000000000000        0xd
 *(.text)
 .text          0x0000000000000000        0xd sample.o
                0x0000000000000000                main

.iplt           0x0000000000000010        0x0
 .iplt          0x0000000000000000        0x0 sample.o

.eh_frame       0x0000000000000010       0x58
 .eh_frame      0x0000000000000010       0x58 sample.o

.rel.dyn        0x0000000000000068        0x0
 .rel.iplt      0x0000000000000000        0x0 sample.o

.data           0x0000000000010000        0x9
 *(.data)
 .data          0x0000000000010000        0x4 sample.o
                0x0000000000010000                b
 *(.ABC_SECTION)
 .ABC_SECTION   0x0000000000010004        0x5 sample.o
                0x0000000000010004                c

.igot.plt       0x000000000001000c        0x0
 .igot.plt      0x0000000000000000        0x0 sample.o

.bss            0x0000000000040000        0x4
 *(.bss)
 .bss           0x0000000000040000        0x0 sample.o
 COMMON         0x0000000000040000        0x4 sample.o
                0x0000000000040000                a
LOAD sample.o
OUTPUT(a.out elf32-i386)

.comment        0x0000000000000000       0x1c
 .comment       0x0000000000000000       0x1c sample.o
                                         0x1d (size before relaxing)

.note.GNU-stack
                0x0000000000000000        0x0
 .note.GNU-stack
                0x0000000000000000        0x0 sample.o