タグ

システム開発とCに関するsnjxのブックマーク (3)

  • WebAssembly | MDN

    WebAssembly は現代のウェブブラウザーで実行できる新しい種類のコードです。ネイティブに近いパフォーマンスで動作する、コンパクトなバイナリー形式の低レベルなアセンブリー風言語です。さらに、 C/C++、C# や Rust などの言語のコンパイル先となり、それらの言語をウェブ上で実行することができます。 WebAssemblyJavaScript と並行して動作するように設計されているため、両方を連携させることができます。 WebAssembly はウェブプラットフォームに大きな影響を与えます。以前ではできなかったようなウェブ上で動作するクライアントアプリケーションのために、複数の言語で記述されたコードをウェブ上でネイティブに近い速度で実行する方法を提供します。 WebAssemblyJavaScript を補完、並行して動作するように設計されています。 WebAssem

    WebAssembly | MDN
  • 例え話をしないC言語のポインタの説明 | 右や左の旦那様

    まえおき 巷では「プログラマーになりたい人に初学者にとって、ポインタという考え方がわけわかめ」という話がよくあります。 そこでいろいろな人が「ポインタは住所だ」とか「変数がハコで」とか手を変え品を変え分かりやすいように説明してくれています。 それでもなお「ポインタがわかりづらい」という人が後を絶ちません。 もういっそのこと、例え話をやめてド直球で攻めたらいいんじゃないでしょうか。 Hello, Worldより簡単に サンプルコード 以下のコードを考えます。 void main() { int a; int b; int c; a = 1; b = 2; c = a + b; } 「#include <stdio.h>」なんていう謎のオマジナイはこの際ナシです。あんなもの無くたってC言語は成り立ちます。 まぁ見ての通り、どこにも何も出力されませんが。 このプログラムは、「c = a + b」

    例え話をしないC言語のポインタの説明 | 右や左の旦那様
  • Linuxのプロセス間通信 - Qiita

    この記事について LinuxのIPC(プロセス間通信)を紹介します。 プロセス間通信とは Inter Process Communication(IPC)はプログラムの実行単位であるプロセスの間で行われるデータ交換のことを指します。プロセスの依存関係は可能な限り疎結合になるようOSで管理されています。そのため、IPCLinux OSの機能を経由して行う必要があります。 OSがプロセスに提供するデータ交換の方法はひとつだけではありません。それぞれ特徴のある多彩な方法を提供しています。 ここで紹介するのは以下の5つです。 共有メモリー セマフォ マップドメモリー パイプ ソケット通信 (他にありましたらコメントで教えていただければ幸いです。) それでは、見ていきましょう。 共有メモリ プロセス間で同じメモリを共有します。 共有メモリの最大の利点はそのアクセススピードにあります。 一度共有メモ

    Linuxのプロセス間通信 - Qiita
  • 1