Skip to content

Instantly share code, notes, and snippets.

View n01e0's full-sized avatar
:shipit:

n01e0 n01e0

:shipit:
View GitHub Profile
@n01e0
n01e0 / md.md
Last active June 28, 2019 10:12
mdめも

markdown書く時用の最低限のメモ

コード

`some code`

some code

になる

@n01e0
n01e0 / go4abc.md
Last active August 16, 2019 05:40
go4abc

Hello Go!

package main

import "fmt"

func main(){
    fmt.Println("Hello Go!")
}
@n01e0
n01e0 / va.md
Last active August 16, 2019 04:22
C言語で可変引数を受け取る
@n01e0
n01e0 / type.md
Last active August 19, 2019 01:51
”型”を受け取るマクロの実装
@n01e0
n01e0 / cptr4b.md
Created August 21, 2019 02:40
ポインタ読解入門

ポインタ読解入門

@n01e0
n01e0 / _Generic.md
Last active August 23, 2019 07:42
Cでジェネリック

Cでジェネリック

Cでもジェネリックが使える

関数オーバーロードみたいな感じ

引数の型によって関数の動作を変えたい

前に任意の型を引数に取る関数の実装を行ったが、なかなか無理があった。

あれではまだ満足出来ない。

与えた引数の型からマクロが呼び出す関数を変えるようにしたい。

@n01e0
n01e0 / abc.bf
Last active September 10, 2019 09:31
LLVM IRを読む
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+.+.>++++++++++.
@n01e0
n01e0 / gdb_chsh.md
Created November 20, 2019 09:16
GDB_cheatseet

GDB cheet sheet

@n01e0
n01e0 / linux,kernel,c,list_in_kernel.md
Last active November 26, 2019 10:46
list_in_kernel

list in linux kernel

カーネルに於けるリスト型データ構造

LinuxカーネルはCで書かれており、C言語には標準でリストが無い。

どうやってリストを作るかは実装した本人次第だ。

Linuxカーネルのような大規模なコードでは、リストの標準化を行っている。

その実装はCの特異な言語仕様を駆使したものであり、Cをある程度理解していないとかなり難しい。

実装