タグ

cに関するreboot_inのブックマーク (8)

  • Using WebAssembly threads from C, C++ and Rust

    Learn how to bring multithreaded applications written in other languages to WebAssembly. WebAssembly threads support is one of the most important performance additions to WebAssembly. It allows you to either run parts of your code in parallel on separate cores, or the same code over independent parts of the input data, scaling it to as many cores as the user has and significantly reducing the over

    Using WebAssembly threads from C, C++ and Rust
  • C/C++の静的解析ツール・事例まとめ - 簡潔なQ

    C/C++の静的解析は、どう考えても大変なんだけどどう考えても需要が高いので、やはり色々なソフトウェアや事例があるようだ。まとまった情報が欲しいけど見つからなかったので自分の調べた範囲でまとめることにした。 他にも耳寄りな情報があったら教えてほしい。 静的解析を行うことができるソフトウェア 調べてみると結構たくさんある。それぞれの特徴とかあまりよくわからない。 (個人的には、とりわけ網羅的な形式的検証ができるツールの性能に興味があるので、それを中心に集めていたが、やはり網羅的とは限らないで探すともっとたくさん見つかるようだ。もちろん網羅性にはトレードオフがある) Frama-C …… C言語に形式手法を適用するための汎用のフレームワークで、静的検証のためのプラグインも多数(WPとかValueとか)存在する。網羅的な検証から発見的な手法、動的な手法まで様々ある。研究で使うのに便利そう Ast

    C/C++の静的解析ツール・事例まとめ - 簡潔なQ
  • Win32 APIとは

    Windowsプログラミング ここでは、Microsoft 社の Windows オペレーティングシステムのプログラミングを解説します Windowsプログラミングを行うためには、Windowsが提供している API を操作します API とは Application Programming Interfaces のことで アプリケーションからOSを操作するための手段です(これは、開発者が提供しています) ネイティブな Windows API を操作することは、Windowsプログラミング及び Windows というOSの仕組みを理解するうえで非常に重要です しかし、それと同時に困難で理解に苦しむ部分も多く、それなりのプログラム経験が問われます Windows APIを学ぶには、多くの基知識を必要とします この講座を閲覧するには、最低でもC言語の知識は必要になります また、Windows

    reboot_in
    reboot_in 2020/10/19
    “16ビットアーキテクチャのWindows API(Windows 3.1まで)は Win16 と呼び これから私たちがやろうしている、32ビットWindowsのAPIを Win32 と呼びます”
  • C++ のシンボルをデマングルする - bkブログ

    C++ のシンボルをデマングルする C++ コンパイラはシンボルが一意の名前を持つように名前マングル (name mangling) と呼ばれる処理を行います。記事では GNU の開発環境で C++ のシンボルをデマングル (demangle) する方法を紹介します。 マングルの方法はコンパイラ依存です。同じコンパイラでもバージョンによってマングルの方法が異なることがあります。たとえば GCC 3.x では int foo(int) を _Z3fooi に、 int foo(const char*) を _Z3fooPKc のようにマングルしますが、 GCC 2.95 ではそれぞれ foo__FPCc, foo__Fi となります。 コマンドラインからデマングル C++ のオブジェクトファイルに nm をかけると、デフォルトではマングルされた読みづらい形式でシンボルが出力されます。 %

    reboot_in
    reboot_in 2020/10/15
    “C++ コンパイラはシンボルが一意の名前を持つように名前マングル (name mangling) と呼ばれる処理を行います。”
  • C++/CLI - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "C++/CLI" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2024年2月) C++/CLIは、.NET Frameworkの共通言語基盤 (CLI) 上で実行するプログラムを作るためにC++を拡張したプログラミング言語である。前身であるC++マネージ拡張に比べて単純でわかりやすい構文になり、可読性も向上している。 C++/CLIはEcma Internationalで標準化されている[1]。C++/CLIに対応したコンパイラとしてVisual C++ 2005以降がある。ほかにもClang上で実装する試みも存在する[2]。 構文の変

    reboot_in
    reboot_in 2020/10/07
    “C++/CLIは、.NET Frameworkの共通言語基盤 (CLI) 上で実行するプログラムを作るためにC++を拡張したプログラミング言語である。前身であるC++マネージ拡張に比べて単純でわかりやすい構文になり、可読性も向上している。”
  • cc, gcc, g++の違い - kamocyc’s blog

    C++は初心者なので調べたことをメモ. C++のコンパイルに使うcc, gcc, g++コマンドの違いについて(Ubuntu 18.04) 元ネタ: c++ - Difference between CC, gcc and g++? - Stack Overflow c++ - What is the difference between g++ and gcc? - Stack Overflow まず,gccとg++の違い.これはC用とC++用の違いである. gccは,GNU C Compilerの意味 g++は,GNU C++ Compilerの意味 なお,gccとg++はともにGNU Compiler Collection(Wikipedia)のcompiler-driver(コンパイラを呼び出すプログラム). ただし,実体としては,g++はgccにオプションを追加して呼び出すことと

    cc, gcc, g++の違い - kamocyc’s blog
    reboot_in
    reboot_in 2020/10/07
    “gccは,*.cファイルをC言語として,*.cppファイルをC++としてコンパイル g++は,*.cファイルも*.cppもC++としてコンパイル g++は,リンクの時にstd C++ライブラリをリンク(gccはしない)”
  • C言語におけるinclude文とgcc -Iオプションの関係 - Qiita

    C言語のincludeまわりがよくわかっていなかったので調査してまとめました。 間違いなどありましたら指摘いただけると幸いです。 #include <stdio.h>のstdio.hファイルはどこにあるのか? 答え:/usr/include/stdio.h 解説: #include <hoge.h> と書くと、/usr/include/内からヘッダーファイルhoge.hが探索されて、存在すればそのヘッダーファイルの中身がinclude文のところに置き換えられる。 存在しなければコンパイルエラーになる。 任意の場所にあるヘッダーファイルを読み込みたいときはどうすればよいか? 方法その1:絶対パスで書けばよい。 例えば、/opt/json-c/include/json-c/json.h というヘッダーファイルを読み込みたいときは、 #include /opt/json-c/include/js

    C言語におけるinclude文とgcc -Iオプションの関係 - Qiita
    reboot_in
    reboot_in 2020/10/07
    “"hoge.h"のようにダブルクオーテーションでくくった場合は、そのソースファイルと同じディレクトリが、inclue最優先探索先として追加される。”
  • C++ equivalent of instanceof

    reboot_in
    reboot_in 2020/10/07
    “C ++ 11では、is_base_of <Base、T>という1つのアイテムを見つけることができます。これにより、指定されたクラスが指定されたオブジェクトのベースであるかどうかがチェックされます。”
  • 1