タグ

c*に関するsh19910711のブックマーク (544)

  • 書評:『自然言語処理と深層学習《C言語によるシミュレーション》』 | Webシステム開発/教育ソリューションのタイムインターメディア


         A52242500 29325   ISBN 978-4-274-22033-3 (Deep Learning) 使使  使 Python使
    書評:『自然言語処理と深層学習《C言語によるシミュレーション》』 | Webシステム開発/教育ソリューションのタイムインターメディア
    sh19910711
    sh19910711 2024/06/21
    "畳み込みニューラルネットワーク(CNN)とリカーレントニューラルネットワーク(RNN)が、それぞれ1つの章として書かれている / 扱っている内容は基本的なことだけであるが、実行結果やその説明はかなり丁寧" 2017
  • bisonとflexで自作パーサーを作る


     C C bisonflex  Gist flexThe Fast Lexical Analyzer) flexlexlexflexlex bison bisonyaccbisonCCCPythonbison使Pyt
    bisonとflexで自作パーサーを作る
    sh19910711
    sh19910711 2024/06/19
    "flex: lexの上位互換版 + 字句解析ルーチンを生成 / bison: 文脈自由文法の仕様を入力として、その文法を解析するためのC言語の関数を生成 / flexとbisonを用いることで、自己流の定義ファイルや言語解釈をしてくれる" 2020
  • C言語のソースコードをZigに変換する機能を試す(その1)

    zigのツールにCのソースコードをZigに変換する機能(zig translate-c)があるので、それを試してみました。 予想外に苦労したので、その1の記事はhello.c をhello.zigに変換してビルドして動作確認まで。 まずはHello, world!

    C言語のソースコードをZigに変換する機能を試す(その1)
    sh19910711
    sh19910711 2024/06/19
    "zig translate-c: CのソースコードをZigに変換する機能 / 明示的にインクルードファイルのディレクトリを指定する必要がある / main()の戻り値の型はZigの仕様に従うように修正 (c_int -> u8)" 2022
  • pybind11 で Eigen/Geometry を呼び出してロール・ピッチ・ヨー角と回転行列を計算する。 - Qiita


    pybind11  Eigen/Geometry CMakenumpyEigenpybind11 pybind11  numpy  Eigen numpy 3C++  Eigen/Geometry pybind11 使  CMake  cmake  pybind11  pybind11_DIR find_package(pybind11)  Eigen  Eigen3_DIR 
    pybind11 で Eigen/Geometry を呼び出してロール・ピッチ・ヨー角と回転行列を計算する。 - Qiita
    sh19910711
    sh19910711 2024/06/18
    "pybind11 では numpy の行列と Eigen の行列を相互参照 / numpy には3次元幾何用の関数が不足しているので、C++ の Eigen/Geometry を呼び出して、ロール・ピッチ・ヨー角と回転行列を計算する"
  • リンク前に不必要なシンボルを削除する - Qiita

    int do_things(void); int application_main(void) { return do_things(); } int test_main(void) { return 42; } int main(void) { return test_main(); } 元の問題は、application_mainとtest_mainを(おそらくはプリプロセッサで)切り替えたいのですが、ライブラリに関数do_thingsが実装されていないためリンクが失敗します。 /tmp/demo-d19626.o: 関数 `application_main' 内: demo.c:(.text+0x5): `do_things' に対する定義されていない参照です clang-6.0: error: linker command failed with exit code 1 (use

    リンク前に不必要なシンボルを削除する - Qiita
    sh19910711
    sh19910711 2024/06/18
    "application_mainとtest_mainを(おそらくはプリプロセッサで)切り替えたい / ライブラリに関数do_thingsが実装されていないためリンクが失敗 / このdo_thingsをリンク前に除けるかという問題" 2018
  • [LLVM超入門] [C++] LLVMを利用してLLVM IRを生成してみる - Qiita


    First  LLVM     C++ CMake include   Windows 10 Home i7 7700HQ RAM 16GB Visual Studio 2019 Community   LLVM LLVM(IR)IRLLVM
    [LLVM超入門] [C++] LLVMを利用してLLVM IRを生成してみる - Qiita
    sh19910711
    sh19910711 2024/06/18
    "LLVMには中間表現(IR)があり、任意のフロントエンドがIRにすることであとはLLVMに実行ファイルの生成と最適化を任せることが出来ます / IRで数値を扱うには: Valueというそれっぽいもの + これを使って数値を作ります" 2019
  • clangでコールグラフを出力 - Qiita


    https://stackoverflow.com/questions/5373714/how-to-generate-a-calling-graph-for-c-code/5373814#5373814  調  MacOS11.1 clang++(homebrew) 11.0.0 homebrew macllvmopthomebrew使 dotgraphviz  dot main_cpp.callgraph.dot
    clangでコールグラフを出力 - Qiita
    sh19910711
    sh19910711 2024/06/18
    "macにプリインストールされているllvmではoptコマンドが入っていないので、homebrewを使ってインストール / opt自体はllvmの各パスを調査するためのツール / -dot-callgraph: dot形式でグラフを出力" 2020
  • 列挙型(enum)の値と識別子を出力する技 - Qiita


    enum 2ifcase 2CC++Preprocessor使enum CC++使 1ifcase   
    列挙型(enum)の値と識別子を出力する技 - Qiita
    sh19910711
    sh19910711 2024/06/18
    "enumの値と識別子を出力したい場合に面倒になるのが、値から識別子へ文字列変換 / if文やcase文で同じ判定を存在する識別子分かかないといけない(似たことたくさん書く面倒) + 識別子が増えるたびに繰り返すことに" 2022
  • 【Clang/LLVM】CFGの生成 - Qiita


     LLVMLLVMVersionCFGLLVMVersion 14.0.620228CFGCFG  LLVM  CFG  LLVM  CFG   1. LLVM 1.1  LLVMAPI
    【Clang/LLVM】CFGの生成 - Qiita
    sh19910711
    sh19910711 2024/06/18
    "LLVMを用いたプログラミング言語開発では、ミドルエンドが抽象化されているために、複数のフロントエンド、複数のバックエンドに対応 / CFG: プログラムの制御フローを可視化したもの" 2022
  • LLVMのstd:: uniform_real_distributionが遅い件 - Qiita


     @kaityo256 A64fx   (@kaityo256) February 4, 2022 MT19937調1調 std::mt19937std:: uniform_real_distribution LLVMlibstdc++Aarch64x86_64libc++ libstdc++libc++    #include <iostream> #include <iomanip> #include
    LLVMのstd:: uniform_real_distributionが遅い件 - Qiita
    sh19910711
    sh19910711 2024/06/18
    "MT19937がコンパイル条件によっては極端に遅いという話 / 遅いのはstd::mt19937ではなくstd:: uniform_real_distributionの方 / LLVMとlibstdc++のときにAarch64であれx86_64であれ発動" 2023
  • LLVMのstd::uniform_real_distributionが遅い件のLLVM観点の原因を探ってみた - Qiita


     LLVM LLVM15.0.7使 "std::uniform_real_distribution" const long double __r = static_cast<long double>(__urng.max()) - static_cast<long double>(__urng.min()) + 1.0L; const size_t __log2r = std::log(__r) / std::log(2.0L); __urng.max()__urng.min()std::numeric_limitsmax()min()
    LLVMのstd::uniform_real_distributionが遅い件のLLVM観点の原因を探ってみた - Qiita
    sh19910711
    sh19910711 2024/06/18
    "-mllvm -print-before-all -mllvm -print-after-all: これらのオプションをつけてコンパイルすると以下のような最適化処理の前後のLLVM IRのログを見ることが出来ます / 引数をdouble型にキャストしたコードについて見ていき" 2023
  • LLVM C API を使う. - Qiita

    LLVM には C++ と C API が用意されています. 最近は FTL http://blog.llvm.org/2014/07/ftl-webkits-llvm-based-jit.html のおかげで C API の整備が大分進み, 十分使える感じになっています. C API のほうがコンパイル時間も短くて済み, また言語バインディングを書くとなども, リンケージや ABI 問題に悩まされなくなります. これからは C API で書いておきたいですね. LLVM C API のサンプル ひとつの大きな問題はドキュメントやサンプルコードがオフィシャルには無い事です. 幸い FTL(webkit) には RefucedFTL という謎(?)の LLVM C API を使ったサンプルがあります. これをみれば大体わかりますね! 昨今の LLVM では MCJIT が推奨のようです. E

    LLVM C API を使う. - Qiita
    sh19910711
    sh19910711 2024/06/18
    "LLVM: FTLのおかげで C API の整備が大分進み, 十分使える感じに / ひとつの大きな問題はドキュメントやサンプルコードがオフィシャルには無い事です / MCJIT を使い, LLVMLinkInMCJIT() を忘れずに呼び出しておきましょう" 2014
  • 競プロ用の環境構築覚書 C++&VSCode(&WSL2) - Qiita


      3  C++201AtCoder Library<bits/stdc++.h>(ShellScript) Linux Windows11+WSL2VSCodeWindows10 LinuxWSLMacOS 2ac-library
    競プロ用の環境構築覚書 C++&VSCode(&WSL2) - Qiita
    sh19910711
    sh19910711 2024/06/17
    "C++20の導入、AtCoder Libraryの導入、<bits/stdc++.h>ヘッダのプリコンパイル / ヘッダファイルのプリコンパイルをしておくと、一回のコンパイル時間を短縮 / できる限りコンパイル時間は短縮しておきたい"
  • Cpputestの導入 - Qiita

    背景 Pythonでの単体テストのやり方が書いてあるテスト駆動Pythonを読んで、実際の業務で実践していました。 その効果を話していたところ、組み込み開発チームでも導入していきたいということだったので、組み込み開発でテスト駆動開発を行うテスト駆動開発による組み込みプログラミングを参考にしながら、Cpputestを導入しました。 その際の導入手順をここにまとめます。 目的 実機がなくても開発したコードの動作が検証可能な環境を構築する ホスト(PC)での単体テスト実行環境を構築 ターゲット(組み込みLinux基板)での単体テスト実行は未実施 環境 OS: Debian GNU/Linux 9 on WSL テストフレームワーク: Cpputest 3.8 インストール手順 Cpputestをダウンロード 後にCPPUTEST_HOMEという環境変数にCpputestをビルドしたディレクトリに

    Cpputestの導入 - Qiita
    sh19910711
    sh19910711 2024/06/16
    "組み込み開発でテスト駆動開発を行うテスト駆動開発による組み込みプログラミングを参考にしながら、Cpputestを導入 / 実機がなくても開発したコードの動作が検証可能な環境を構築する" 2019
  • CMakeプロジェクトにgoogletestを導入した話 - Qiita


     CMakeC++googletest "Incorporating Into An Existing CMake Project"C++CMakeC++ OSgoogletest yumapt OS googletestclone googlete
    CMakeプロジェクトにgoogletestを導入した話 - Qiita
    sh19910711
    sh19910711 2024/06/16
    "CMakeで構成されたC++のプロジェクトに、googletestによるユニットテストを組み込む / enable_testing: ctestでテストを実行する場合にはadd_test()と合わせて宣言 / Makefileにtestというルールを追加する機能もある" 2020
  • 【C++】Clangでテストコードがないコードも対象に含めテストカバレッジを計測する方法 - Qiita


    C++Clang使 使 OS: Debian 12.5 : CMake 3.25.1 : Clang 14.0.6 CMake使CMake使OSLinuxWindows   gcno:  gcda:   make, cmake:  clang: LLVMC/C++
    【C++】Clangでテストコードがないコードも対象に含めテストカバレッジを計測する方法 - Qiita
    sh19910711
    sh19910711 2024/06/16
    "Clangを使用している際に、テストコードがないコードも対象に含めテストカバレッジを算出する / clangのコンパイルおよびリンカーオプションに--coverageを追加 / lcov: gcovによるカバレッジの計測結果を視覚的に表示"
  • C/C++ アプリを WASI で WasmEdge で動かすメモ - Qiita

    WebAssemblyランタイム比較(Lucet, Wasmer, Wasmtime) https://zenn.dev/zaki_yama/scraps/cd40f7535b3224 wasi-sdk + wasmer-python で C/C++ アプリを WASM でポータブルに動かすメモ https://qiita.com/syoyo/items/300d4ef7fd105e69ad10 WASI で動かすのは wasmer, wasmtime が主にありましたが, 最近(2022/09 時点), WasmEdge というのも出てきました. AOT(Ahead of time) compile で高速実行目指す?っぽい. C/C++ アプリを速度落とさずのサンドボックス実行できそうな気がしますので試してみます. wasmer(C/C++ をポータブルなプラグインにして Python

    C/C++ アプリを WASI で WasmEdge で動かすメモ - Qiita
    sh19910711
    sh19910711 2024/06/15
    "C/C++ アプリを限りなく爆速で sandbox(isolation)実行したい / WasmEdge: AOT(Ahead of time) compile で高速実行目指すっぽい / ネイティブな Thread 対応は現状(2022/09 時点)無理 + JS レイヤーで Worker を建てる感じでの対応" 2022
  • WebAssemblyに特化したプログラミング言語「Onyx」にWindowsで入門してみる - Qiita


    Onyx WebAssembly(wasm) C C LLVM  Binaryan 使 wasm   use core { printf, iter }main :: () { for i: 1 .. 10 { fact := factorial(i); printf("{}! = {}\n", i, fact); } } factorial :: (n: i32) -> i32 { return iter.as
    WebAssemblyに特化したプログラミング言語「Onyx」にWindowsで入門してみる - Qiita
    sh19910711
    sh19910711 2024/06/15
    "Onyx: WebAssembly(wasm)に特化した新しいプログラミング言語 + コンパイラはC言語で記述 / LLVM や Binaryan などのコンパイラ基盤を使用せず、直接 wasmバイナリにコンパイルするのが特徴"
  • NAとはNAんぞや (R) - Qiita


    Who we are?  justInCase  R使with tidyverse 使 python 使RNARR使
    NAとはNAんぞや (R) - Qiita
    sh19910711
    sh19910711 2024/06/15
    "R は動的言語であり全てがオブジェクトという性質 / R のC言語での実装は cons cell を CAR と CDR で操作のS式だらけなので、実は Lisper の皆様にとても相性が良い / NA_real_ は C言語の NaN だけど下位bitに 1954 が仕込まれてる" 2018
  • R使いの皆さん、Rcppは裏で勝手にあなたのデータを書き換えまくるよ(対策あり) - Qiita


      RC++RRcpp 9 Rcpp 使    x2C++Rcpp
    R使いの皆さん、Rcppは裏で勝手にあなたのデータを書き換えまくるよ(対策あり) - Qiita
    sh19910711
    sh19910711 2024/06/15
    "R言語は基本的になるべくオブジェクトを新規作成 / 内容の書き換えを可能にするミュータブルなオブジェクトを作ることを許容しません / ベクトルに新しい数字を入れる際も、裏ではオブジェクトの新規作成が行われ"