タグ

プログラミングとC言語に関するrichard_rawのブックマーク (40)

  • 2で割ることと3で割ること - Qiita


    CPU  使 x86 CPU32/642  $n$$d$ $$ n = q \times d + r $$ 
    2で割ることと3で割ること - Qiita
    richard_raw
    richard_raw 2020/12/09
    なるほど、3の場合はこうなるのか。
  • Linuxカーネルで学ぶC言語のマクロ - 覚書


      linuxC使&C使 使  #define swap(a, b) \ do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0) do { ... } while (0)
    Linuxカーネルで学ぶC言語のマクロ - 覚書
    richard_raw
    richard_raw 2020/06/30
    空のdo whileは真似して使っています。引数の文字列化は試してみたい。
  • 【C言語】引数なしの関数には void を書いた方がよいという話 - 0x19f (Shinya Kato) の日報


    C void   void func() {}  void func(void) {}  2C調 2/使 22  // func_empty.c void func() {} int main(void) {f
    【C言語】引数なしの関数には void を書いた方がよいという話 - 0x19f (Shinya Kato) の日報
    richard_raw
    richard_raw 2019/04/19
    voidがないとチェックされない、と。知らなかった……。/ニューラルネットのソースがK&Rスタイルだったなあ。
  • 【Python C API入門】C/C++で拡張モジュール作ってPythonから呼ぶ -前編-|はやぶさの技術ノート


     @Cpp_Learning C  C++  Python PythonC/C++使 Python
    【Python C API入門】C/C++で拡張モジュール作ってPythonから呼ぶ -前編-|はやぶさの技術ノート
    richard_raw
    richard_raw 2019/01/21
    なるほどなるほど。/無言ブックマークばっかりですな!
  • _T("")マクロだのL""マクロだのLPCTSTRだのの世界一詳しい解説


    _T("")    LPCTSTRconst char * _T("")  VisualStudio200520032008  cppTest  Unicode 使 使  Visual Studio2
    richard_raw
    richard_raw 2018/01/16
    なんか文字化けしまくると思ったらこれか!
  • 非推奨だった bool 型に対するインクリメント演算子を削除 - cpprefjp C++日本語リファレンス


     C++17booloperator ++ booloperator ++C++98 true #include <iostream> int main() { bool b = false; const bool b1 = ++b; std::cout << std::boolalpha << b1 << std::endl; // => true const bool b2 = ++b; std::cout << std::boolalpha << b2 << std::endl; // => true }
    richard_raw
    richard_raw 2017/07/19
    「これに起因するバグで少なくとも6つの過度の放射線被曝事故を引き起こし、3人が死亡した例がある。」ワァオ。
  • linuxカーネルで学ぶC言語のマクロ - Qiita


      linuxC使&C使 使 
    linuxカーネルで学ぶC言語のマクロ - Qiita
    richard_raw
    richard_raw 2017/03/03
    黒魔術だ……。/さっそく、何もしないマクロ定義を利用させていただきます。
  • 標準出力と標準エラー出力 - printfデバッグTips - 碧色工房


    printf使 Hello World  使 printf  printf使Tips  printf fprintf 使 man使 #include <stdio.h> int printf(const char *format, ...); int fprintf(FILE *stream, const char *
    標準出力と標準エラー出力 - printfデバッグTips - 碧色工房
    richard_raw
    richard_raw 2017/01/11
    なぜかperror()を知っててstrerror(errno)を知らなかったのでブックマーク。
  • CPP(コンパイルしない方の関数型なC言語)プログラミング入門。とりあえずFizzBuzzまで - Qiita


    CPP CPP CPPC++  C++BoostCPP使C // #define   #define MAC 42 //  MAC //  #define F(x) x + 20 //  F(22)
    CPP(コンパイルしない方の関数型なC言語)プログラミング入門。とりあえずFizzBuzzまで - Qiita
    richard_raw
    richard_raw 2016/09/28
    面白い!まさかプリプロセッサでループできるとは思わなかった。
  • Microsoft、C言語を拡張する「Checked C」を開発中


    fossBytes614()Microsoft Open Sources "Checked C"  An Extended Version Of C To Avoid Coding ErrorsMicrosoftChecked CChecked CC MicrosoftC/C++C1Checked CC
    Microsoft、C言語を拡張する「Checked C」を開発中
    richard_raw
    richard_raw 2016/06/17
    Cppcheckがなんだって?(違う)
  • C言語でターミナルで表示される文字をカラー表示させる : Serendip – Webデザイン・プログラミング

    サンプルコード #include <stdio.h> int main(void) { /* 背景色の指定 */ printf("\x1b[40m"); /* 背景色を黒に */ printf("背景が黒\n"); printf("\x1b[41m"); /* 背景色を赤に */ printf("背景が赤\n"); printf("\x1b[42m"); /* 背景色を緑に */ printf("背景が緑\n"); printf("\x1b[43m"); /* 背景色を黄色に */ printf("背景が黄色\n"); printf("\x1b[44m"); /* 背景色を青に */ printf("背景が青\n"); printf("\x1b[45m"); /* 背景色をマゼンタに */ printf("背景がマゼンタ\n"); printf("\x1b[46m"); /* 背景色をシア

    richard_raw
    richard_raw 2016/05/24
    C言語でも簡単にカラフル文字出力できたのか。/ちなみにシェル組み込み関数のprintfだと「x1b」の代わりに「e」ですな。
  • Cプログラミング診断室 - 藤原博文

    はじめに 開院準備 昔むかし/ レベル差/ 教育/ ネットワーク/ 情報集め/ 隠すことについて/ プログラムコンテスト/ ドキュメント/ 楽するように/ 手抜きと下手の違い/ 開院 第1部 外来 第1章 普通の初心者 最初から充実した(!?)プログラムが登場 関数を短くし、コメントを改善する 上手になる秘訣/ プログラムの紹介/ 何だ、このプログラムは!!/ 短くするには/ コメントについて/ 無駄な努力をやめよう/ 名前/ 気になる個所/ 修正プログラム/ 課題/ まとめ 第2章 これでもプロ 売りものであるにもかかわらず、超きたない! 構造的な欠陥の指摘〜引数、ポインタの活用 プログラムの紹介/ 「超」基的問題点/ 関数分解/ 構造的欠陥/ 引数を使おう/ ポインタ/ その他/ まとめ(修正プログラム) 第3章 上司が問題 まさに驚異的なプログラムの見というべき 内容の修正から、

    richard_raw
    richard_raw 2016/05/18
    大量のグローバル変数を宣言したヘッダファイルに遭遇したので第5章を参考にしました。というか全部読みたい。
  • Online Python Tutor - visualize, debug, get AI help for Python, Java, C, C++, and JavaScript

    Online Compiler, Visual Debugger, and AI Tutor for Python, Java, C, C++, and JavaScript Python Tutor helps you do programming homework assignments in Python, Java, C, C++, and JavaScript. It contains a unique step-by-step visual debugger and AI tutor to help you understand and debug code. Since 2010, over 15 million people in more than 180 countries have used Python Tutor to visualize over 200 mil

    richard_raw
    richard_raw 2016/03/24
    PythonだけでなくJava, JS, Ruby, C++までビジュアライズしてくれるサービス。使ってみよう。
  • 2016年、C言語はどう書くべきか (前編) | POSTD


    (2016/3/2) (Mattx86-64 Unix/Linux/POSIX( 8-bit10CPUWin/Linux)) 201520152016 
    2016年、C言語はどう書くべきか (前編) | POSTD
    richard_raw
    richard_raw 2016/02/19
    やばい全然馴染みがない。もうC++でいいや(えー
  • コールグラフを描く2つのツール(EgyptとCodeViz) by Inquisitor

    休日(でなくてもいいけれど)の読書の題材としてコンピュータ・プログラムを選んだとき、単にコードを読むだけでなく、何か図形的な補佐が欲しいと思うことがある。 オブジェクト指向の言語だとUML図が便利だが、別のパラダイムではあまり役に立たない。 たとえばC言語では、プログラムの構成要素である関数(というか手続き)の呼び出し合う関係を視覚化できると少しうれしい(「すごくうれしい」とまではいかない)。 次のようなコードがあったとする。 #include <stdio.h> int fib(int n) { if (n<3) return 1; return fib(n-2)+fib(n-1); } int main() { int i; for (i=1; i<=10; ++i) { printf("fibonacci(%d) = %d\n", i, fib(i)); } return 0; }

    コールグラフを描く2つのツール(EgyptとCodeViz) by Inquisitor
    richard_raw
    richard_raw 2015/08/24
    静的なコールグラフを出力したいなーと思って探したら見つけた。どちらもUbuntuのパッケージには無さそう。
  • 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
    richard_raw
    richard_raw 2015/03/11
    コンマ演算子とかオーバーフロー時の動作定義とかC言語全ッ然分かってなかった感すごいorz
  • C言語の開発者によるgoto文の使い方を対象とした実証研究の結果、「goto文は無害だと考えられる」 | スラド デベロッパー


    Edsger Dijkstragoto196850goto使Dijkstragoto使/. /.Empirical Study On How C Devs Use Goto In Practice Says "Not Harmful" 200C11goto使Dijkstra使
    richard_raw
    richard_raw 2015/02/16
    そう言えば最近、初めてgoto文を使ったCのプロダクトコードを見ました。なんでreturnを使わないんだ……。/危険なコードとか公開しないだろうと考えるのは甘いんですかね。
  • 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
    richard_raw
    richard_raw 2014/12/15
    マクロで要素数を計算してる。
  • ご注文は機械学習ですか? - kivantium活動日記


    OpenCV - kivantiumUbuntu 14.10  使稿 1 / - 使 Ubuntuaptnicovideo-dl使 sudo apt-get install nicovideo-dl nicovideo-dl www.nicovideo.jp/watch/1397552685avidemuxOP
    ご注文は機械学習ですか? - kivantium活動日記
    richard_raw
    richard_raw 2014/11/27
    C++選択理由がなるほど(ぇ/OpenCV使ってるけど、そう言えば私は顔認識処理はノータッチでした。
  • 問.Cでオブジェクト指向プログラミングを行なえ - 株式会社CFlatの明後日スタイルのブログ

    問.Cでオブジェクト指向プログラミングを行なえ。ただし「オブジェクト指向プログラミング」とは、次のような特徴を持つプログラミング技法であるものとする: オブジェクトの実装はオブジェクトのユーザーからは隠蔽される(カプセル化/隠蔽) 同一型のオブジェクトと同一メソッドを与えた時、実際のメソッドの動作はオブジェクトの内容により変化する(ポリモーフィズム/多態性) なお、ユーザーが既存のオブジェクトをカスタマイズして新たなオブジェクトを作成する機能は、必要ないものとする。 この問いの狙い よく、「オブジェクト指向プログラミング」と「オブジェクト指向言語」は混同されます。が、前者はプログラムを設計する上での考え方で、後者はその考え方を容易にソースコードに書けるような仕様になっている言語の事で、全く違うものを指しています。 その証拠を示すため、「非オブジェクト指向言語」たるC言語で「オブジェクト指向

    問.Cでオブジェクト指向プログラミングを行なえ - 株式会社CFlatの明後日スタイルのブログ
    richard_raw
    richard_raw 2014/10/20
    やべー、ポリモーフィズムが自力で出来そうにないorz/なぜかGTK+でメモ帳もどきを作ったことを思い出しました。