技術日誌

DB,Java,セキュリティ,機械学習など。興味のあることを雑多に学ぶ

C言語

「はじめて学ぶCの仕組み2」を読んだ

大体1週間程度で読み終わりました。 プログラミング学習シリーズ C言語改訂版 2 はじめて学ぶCの仕組み作者: 倉薫出版社/メーカー: 翔泳社発売日: 2009/02/13メディア: 大型本購入: 2人 クリック: 6回この商品を含むブログ (3件) を見る この本を読み始めた…

C言語復習ラスト。ライブラリについて

ライブラリは今までよく知らなかったので、復習ではない気がする。 ライブラリとは プリプロセッサ.c -> .c コンパイラ.c -> .o リンカ.o -> exe このプロセスの中の .oファイルをまとめてライブラリを作ることができる $ ar -r mylib.a a.o b.o ar: creatin…

C言語復習その6。プリプロセッサ、リンカについて

本書ラストのライブラリまで行けると思ったが、時間がなくなった。 もっと有意義に3連休を過ごせなかったのだろうか。(反省) プログラミング学習シリーズ C言語改訂版 2 はじめて学ぶCの仕組み作者: 倉薫出版社/メーカー: 翔泳社発売日: 2009/02/13メディア…

C言語の復習その6メモリについて

メモリ管理について学びました。malloc,free,reallocなど コンパイルするときに、知識不足によるコンパイルエラーがかなり減りました。*1 またコンパイルエラー時に、何が間違っているかすぐわかるようになり、なぜ動いているのか・動かないのかわからないと…

C言語の復習その5。関数ポインタについて

関数ポインタは「宣言方法」と「引数、返値があっていない適当に実装されたコードを読む」のがややこしいが、綺麗に書けばそこまで難解ではない。という認識です。 関数ポインタについて 引数や戻り値は暗黙の型変換が絡んで来るとややこしい 関数ポインタの…

C言語の復習その4。enum,3項演算子,goto,関数

関数ポインタをちょっと読み込んだくらい進みましたが、 関数ポインタは難しそうなので、それで一つ記事を書きます。 というわけでキリが良いので投稿♪ enum コメントの指摘 3項演算子 GOTO 関数 enum enumのメンバは本来値を持たない。(持つべきではない) …

C言語復習その3構造体、共用体について

構造体と共用体について学びました。 構造体のサイズについて コンパイラが勝手にサイズを偶数長になるように変更する ワードアライメント 構造体の正確なサイズはわからない。 sizeof演算子で大きさを求めるべき。 実際の現場でもsizeof演算子で大きさを求…

C言語の復習その2ポインタ

各型に対するポインタ変数の型がある どのかたのポインタも同じサイズ(私の環境では8バイト) 構造体のポインタ型もある ポインタ変数型のポインタもある char c = 'c'; char* pc = &c; char **ppc = &pc; printf("-------------------\n"); printf("c value …

C言語の復習を始めました。

こんにちは。大学の1年目のC言語の授業で予約語と非予約語の違いが判らずに 1週間くらい変数には何でもwight,hightを付けていた不届きものです。 最近C言語を再勉強することにしました。 一応大学ではC言語を一番書いていましたが、 C言語そのものの知識と…

SpectreのPoCの動かし方

世間を賑わしているGoogle Zero Projectが発見したCPUに関する2つのバグ、meltdownとspectreですが、 spectreのpocが公開されていたので手持ちのKali Linuxで動かしてみました。 www.exploit-db.com char *secret = "The Magic Words are Squeamish Ossifra…