C言語のmain関数と実行時引数の深層解説

main関数の本質 C言語においてプログラムの実行開始点となるmain関数は、OSから直接呼び出される特別な関数です。実装にはいくつかの形式が存在します。 定義形式の多様性 標準規格ではint main(void)またはint main(int, char**)が推奨されますが、実際のコンパイラはより多くの形式を受け入れます。 // 形式1: 引数なし・戻り値なし(非推奨だがコンパイル可能) void ...

7月1日 23:32 投稿

Windows 10でUbuntuサブシステムを活用する方法

WSLの有効化とUbuntuインストール手順 開発者モードを有効にします:設定 → 更新とセキュリティ → 開発者向け → 「開発者モード」を選択。 次に、Linux用Windowsサブシステム機能を有効化:コントロールパネル → プログラムと機能 → Windows機能の有効化 → 「Windows Subsystem for Linux」にチェックを入れて再起動。 Microsoft Storeを開き、「Ubuntu」を検索してインス ...

6月29日 22:27 投稿

Linuxプログラミング入門からマスターまで

第1章 Linuxシステム概要 1.1.1 オペレーティングシステムの概念 オペレーティングシステムはコンピュータハードウェアとユーザーの間のインタフェースとして機能する。 1.1.2 オペレーティングシステムの基本機能 プロセス管理 メモリ管理 I/Oデバイス管理 ファイル管理 1.2.2 Linuxシステムの構成 Linuxは以下の4つの要素から構成される: カーネル:システムコー ...

6月10日 17:39 投稿

MSYS環境でのGCCのローカライズサポート有効化

MSYS環境でGCCを使用する際に、デフォルトではローカライズサポートが無効になっています。これにより、コンパイル時のエラーメッセージは英語のみとなります。 // エラーを含むCコードの例 #include <stdio.h> int main(){ int a = 1; n b = 2; d c = 1.1; p("Hello world!\n"); return v; } このコードをコンパイルすると以下のエラーメッセ ...

5月30日 10:08 投稿

ARMアーキテクチャ向けONNX Runtime GPU版のソースビルド手順

環境情報 アーキテクチャ: aarch64 OS: Ubuntu 20.04 GPU: NVIDIA T4 前提条件 CUDAが適切にインストール済み cuDNNが適切にインストール済み CMakeが適切にインストール済み ビルド手順 1. ソースコードの取得 git clone --recursive https://github.com/microsoft/onnxruntime.git cd onnxruntime 2. バージョンの切り替え git checkout v1.16.3 ...

5月29日 15:10 投稿

Linuxにおける動的ライブラリの利用と静的・動的リンクの動作確認

動的ライブラリの活用とリンク動作の検証 前回作成した動的ライブラリlibmymath.soを用いて、アプリケーションにリンクさせる方法を再確認します。 一般的なコンパイルコマンド: gcc main.c -L. -lmymath -L.:カレントディレクトリに存在するライブラリを参照 -lmymath:自作ライブラリlibmymath.soを使用することを指定 生成されたa.outをlddで確認すると、標 ...

5月23日 00:59 投稿