kakts-log

programming について調べたことを整理していきます

2022-01-01から1年間の記事一覧

64ビットアーキテクチャにおいてインラインアセンブラでシステムコールを呼び出す

概要 独習アセンブラ8.4.1において、Cでインラインアセンブラによってシステムコールwriteを呼び出し、標準出力に文字列を出力するコードを実行させる際に、64bit環境では下記のエラーが出て実行できませんでした。 64bit環境で動作させるための方法を調べて…

Cでインラインアセンブラコードをgccでコンパイルする際に "relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object;" というエラーが出た時の対処法

gcc

概要 GCCのインラインアセンブラを利用して Cで書かれたコード内でアセンブリ言語のプログラムを埋め込み、コンパイルした場合に下記のエラーがでました gcc実行時に、内部でldコマンドが実行された時のエラーのようです。 $ gcc -fno-pic -fomit-frame-poin…

【独習アセンブラ 4.5デバッガによるトレース】apple silicon macのローカルでgdbの代わりにlldbを使ったトレースの実行方法

概要 「独習アセンブラ」を読んでアセンブラを学んでいて、apple silicon(arm)のmacのローカル環境でコード書いてデバッグしています。 独習アセンブラ 新版作者:大崎 博之翔泳社Amazon 4.5「デバッガによるトレース」 で、gdbを使ってcのソースコードをコン…

シンボリックリンク一覧の中から、指定したファイルを参照しているものを探す

概要 下記のように、a.txtのファイルを実体とし、それを参照したシンボリックリンクが2つ(b.txt, t/c.txt)あるとする。 この場合、a.txtを参照したシンボリックリンクを見つけたい場合、findコマンドを使うことで実現できます。 - b.txt - t/c.txt $tree . ├…

wordle用にmacのターミナルでwordle用の辞書ヘルパーをワンライナーで

やりたいこと wordle 用に、指定した文字を含んだ5文字の単語の一覧を表示させて、wordleを解きやすくしたい 前提 MacOS 12.3 英単語をどうやって取得するか 今回はMacOSで用意されている英単語辞書を利用する MacOS内での英単語辞書について /usr/share/dic…

systemd systemctlでデーモン起動しない場合のログ確認方法

systemd により、os上でsystemctl start hoge のようにデーモンプロセスを起動する際、 プロセスが立ち上がらず、原因がわからなくて困ることがある $ systemctl start hoge.service # うまく起動せず、ステータス確認 $ systemctl status hoge -l ● hoge.se…

Apple Silicon macで公式のDocker MySQLイメージを利用する

MySQL公式が Apple Silicon用のMySQLイメージをサポート Apple Silicon (ARM 64) Macが出てから、DockerではARM64用の公式MySQLイメージが用意されておらず、 --platform linux/amd64 を指定してIntel用イメージをエミュレーションするか、代わりにmariadb …

vscode: Goのコードで定義元にジャンプさせる

Go

概要 vscodeでGoのコードを書く際に、関数などの定義元にジャンプさせたい時の設定。 手順 Go公式のvscode拡張機能を有効にする まず、Go公式のvscode拡張機能が有効になっているか確認します。 github.com Goの公式の拡張機能が有効になっているか確認する …

C: ディレクトリストリームによるディレクトリエントリ情報の取得

UNIX/linuxベースのOSにおいて、C標準ライブラリを使って、ファイルシステムにおける指定したディレクトリの情報を取得する方法をまとめます。 環境 m1 mac OS(11.6) ファイルシステムにおけるディレクトリについて ディレクトリはデータ領域にディレクトリ…