今日のネタはリンカの仕事について。低レイヤな話としてありがちだが、いかんせんバイナリを入力にバイナリを出力する処理なので直感的に理解しづらい。ってことで調べながらメモる。 リンカ(linker)とは何か リンカ とは、コンパイルされたファイル(オブジェクトファイル)同士をつないで実行可能なファイルを作るプログラムである。ほとんどの場合、ソースコードはファイルごとにコンパイルされ、ファイルごとにオブジェクトファイルが生成される。他方、プログラム中で外部ファイルで定義されたシンボル(変数名や関数名など)を参照する場合がある。たとえばライブラリ中に定義された関数を呼び出す場合などである。リンカの役割は、このようなファイル内を見ただけでは正体不明のシンボルと外部ファイルに含まれる定義を紐付けることである。 リンカには静的リンクと動的リンクの2種類がある。以下にそれぞれについてざっくりまとめる。 静
Patrick RogersPatrick Rogers is a software engineer at DoorDash since early 2019. Initially a member of the merchant integrations and order platform teams, he now works on the Observability team with a focus on leveraging eBPF and distributed tracing data to improve understanding & reliability of DoorDash's distributed systems. Author's Linkedin As DoorDash experienced rapid growth over the last f
EducationSecurityIntroduction to SELinuxSELinux is the most popular Linux Security Module used to isolate and protect system components from one another. Learn about different access control systems and Linux security as I introduce the foundations of a popular type system. At GitHub Security Lab, our main mission is helping secure the open source software we all rely on. While securing applicatio
After using Azure Linux internally for two years and running it in public preview since October 2022, Microsoft this week finally made its distribution generally available. Azure Linux is an open-source container host OS for the Azure Kubernetes Service (AKS) that is optimized for Azure and aimed at making it easier for developers to use Microsoft's tools to deploy and manage container workloads.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く