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 投稿