タグ

cに関するgom68のブックマーク (50)

  • CとRustで一から作るマイクロカーネルOS


    OSIaaSOS Resea GitHub  LinuxOS
    CとRustで一から作るマイクロカーネルOS
  • 低レイヤを知りたい人のための Cコンパイラ作成入門


      CCC使  
  • 自作Cコンパイラで Ken Thompson のログインハックを再現してみた - 0x19f (Shinya Kato) の日報


    UNIX  Ken Thompson  UNIX  Thompson hack C Thompson hack  UNIX   Reflections on Trusting Trust 1983 Ken Thompson  Dennis Ritchie  Ken Tohmpson 
    自作Cコンパイラで Ken Thompson のログインハックを再現してみた - 0x19f (Shinya Kato) の日報
  • C言語でインクルードするだけで使えるNon-movingで正確なコピーGCを作った - Qiita

    インクルードするだけで使えるNon-movingで正確なGCをC言語用に作りました。 行数がコメントを除いて100行に満たない非常に小さなライブラリです。 GCのアルゴリズムとしてはCheneyのコピーGCを採用しています。 通常のCheneyのコピーGCではメモリ空間のうち半分が無駄になってしまいメモリ効率が悪かったり、 GC発生時にオブジェクトが移動してしまいC言語のようなポインタを直接触れる言語との相性が悪いという欠点がありました。 今回はヒープ全体を二重連結リストとして管理することでそのような問題を解決しています。 ちなみにこれはTreadmill GCのアイデアと同じです。(が、アルゴリズム自体はTreadmill GCではありません。) APILinuxのlist.hに非常に近い見た目になっています。 ある構造体をgcで管理したい場合はstruct gc_head型のメンバを

    C言語でインクルードするだけで使えるNon-movingで正確なコピーGCを作った - Qiita
    gom68
    gom68 2017/10/10
  • Darknet: Open Source Neural Networks in C

    Darknet is an open source neural network framework written in C and CUDA. It is fast, easy to install, and supports CPU and GPU computation. You can find the source on GitHub or you can read more about what Darknet can do right here: Installing Darknet Darknet is easy to install and run. This post will guide you through it. YOLO: Real-Time Object Detection You only look once (YOLO) is a state-of-t

  • C言語分かってなかった (I Do Not Know C) - Qiita


    Dmitri GribenkoBlog "I Do Not Know C"  CC BY-SA 3.0  CCC (undefined behavior)   Qiita/Markdown  1.
    C言語分かってなかった (I Do Not Know C) - Qiita
    gom68
    gom68 2015/03/10
  • Big Sky :: ちっちゃなビルドシステム qo が激しく便利だった件


    « Re: VimURL | Main | golang  gofmt gorename 使 » golang  gobuild C golang  cgoC  CFLAGS  LDFLAGS  package gtk // #include "gtk.go.h" // #cgo pkg-config: gtk+-2.0 import "C" import ( "fmt" "log" "reflect" "runtime" "strings" "unsafe" "github.com/mattn/g
    Big Sky :: ちっちゃなビルドシステム qo が激しく便利だった件
  • C言語で可変長引数をとる関数を、型安全に書く方法


    C使 doublesumfC使sumf #include <math.h> #include <stdarg.h> #include <stdio.h> static double sumf(double nfirst, ...) { double r = 0, n; va_list args; va_start(args, nfirst); for (n = nfirst; ! isnan(n); n = va_a
    gom68
    gom68 2014/12/15
  • Cのエラーハンドリングと例外設計、例外処理のメモ - 百日半狂乱


    6(...orz)C Cerrno ""   if(send(sockfd, buf, len, 0) < 0){ ERROR("send"); exit(1); }   *1   unpv12ein
    Cのエラーハンドリングと例外設計、例外処理のメモ - 百日半狂乱
    gom68
    gom68 2014/11/01
  • C言語でプログラミングする際の覚書(Notes on Programming in C) - YAMAGUCHI::weblog


     Go3 GoGoRob Pike25Pike StyleC Notes on Programming in C 25include
    C言語でプログラミングする際の覚書(Notes on Programming in C) - YAMAGUCHI::weblog
  • Unix Programming Frequently Asked Questions 日本語訳 - Table of Contents

    このFAQについて 1 プロセス制御 1.1 新しいプロセスの生成: fork() 1.1.1 fork()は何をするのですか? 1.1.2 fork()とvfork()の違いは何ですか? 1.1.3 forkによる子プロセスを終了するときにexitよりも_exitを使うのはなぜですか? 1.2 環境変数 1.2.1 どうすればプログラム内で環境変数の値を取得・設定できますか? 1.2.2 どうすれば全ての環境変数を調べられますか? 1.3 どうすれば一秒未満のsleepができますか? 1.4 粒度の細かいalarm()はどうすれば得られますか? 1.5 どうすれば親プロセスと子プロセスの間で通信できますか? 1.6 どうすればゾンビプロセスができることを防ぐことができますか? 1.6.1 ゾンビプロセスってなんですか? 1.6.2 どうすればゾンビプロセスになることを防げますか? 1.7

  • アセンブリ読んだら負けかなと思ってる - 誰かの役に立てばいいブログ


     C/C++  gdb  strip   Step1.  Linux  #include <execinfo.h> #include <unistd.h> void dump_stack() { void* bt[100]; int n = backtrace(bt, 100); backtrace_symbols_fd(bt,
    アセンブリ読んだら負けかなと思ってる - 誰かの役に立てばいいブログ
    gom68
    gom68 2013/08/03
  • feof関数でwhileループを回す奴はド素人 - hnwの日記


    2013-04-07 01:30@nonakapid:s-tomo 2013-04-07 10:002 2017-04-23 stackoverflowwhile( !feof( file ) ) is always wrongWilliam PursellCwhile( !feof( file ) ) PHPPHPPHPC
    feof関数でwhileループを回す奴はド素人 - hnwの日記
    gom68
    gom68 2013/05/14
  • ゲームプログラミングにおけるC++の都市伝説 - ソフトウエア研究会in秋葉原 - PukiWiki


    C++  C++ Advent Calendar 2012 22 Prev 21 CEAN Next 23  3 2012/12/22 written by h.godai @hgodai   1 C++ 2 boost::pool 3 boost使    8bit16bit32bitC
  • Big Sky :: C言語から使えるJSONパーサ、parson が思った以上に良い仕事をしている。


     JSMN  matsuu  parson Lightweight json parser and reader written in C. http://kgabis.github.com/parson/   (2) API  json  (COO: "objectA.objectB.value") C89    JSMN DOM  twitter #include <assert.h> #include <string.h> #inclu
    Big Sky :: C言語から使えるJSONパーサ、parson が思った以上に良い仕事をしている。
  • モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人


    C, C++Linux(DebianUbuntu)  apt-getUbuntuDebiangccg++ $ sudo apt-get install build-essential  (ltrace) GDB GNU Valgrind  strace  $ sudo apt-get install gdb valgrind strace  C, C++makeSConsCMak
    モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人
    gom68
    gom68 2012/09/11
    Valgrind
  • C 言語にポインタがある理由は省メモリ化・高速化・開発作業の省力化です - 偏見プログラマの語り!


    C稿退  1.   使
  • プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!


    C10C 2012 C*1 C C CC
    プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!
  • Big Sky :: Windowsへの移植も視野にいれたプログラムを書くなら読んでおいて欲しい事

    絶対パスの先頭に/が来る事を期待してはいけない しかしながら絶対パスの先頭にドライブレターが来る事を期待してはいけない UNCパスのホスト名やシェア名はディレクトリではないのでファイルシステムAPIは使えない事を意識しておく unixに比べパス内に空白文字が入る可能性が高い事を意識しておく ホームディレクトリを意味するパスの先頭チルダは自前で展開する必要があり、またパスの途中にチルダが混じる事は日常的にある ソケットディスクリプタに対してもread/writeで送受信できる事を期待してはいけない パイプでない標準入力のselectはやっても意味がない ディレクトリ内にあるファイルを開き、ハンドルを保持したままディレクトリを消せるのは当たり前だと思わない パスのセパレータが/¥である事を期待してANSI APIを使ってはいけない Cランタイム(POSIX互換API)とWindows API

    Big Sky :: Windowsへの移植も視野にいれたプログラムを書くなら読んでおいて欲しい事
  • Linux Tutorial: POSIX Threads

    POSIX thread (pthread) libraries The POSIX thread libraries are a standards based thread API for C/C++. It allows one to spawn a new concurrent process flow. It is most effective on multi-processor or multi-core systems where the process flow can be scheduled to run on another processor thus gaining speed through parallel or distributed processing. Threads require less overhead than "forking" or s

    gom68
    gom68 2011/12/05