タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

cに関するwillnetのブックマーク (6)

  • PRE10-C. 複数の文からなるマクロは do-while ループで包む

    PRE10-C. 複数の文からなるマクロは do-while ループで包む 複数の文を一つのグループとして実行するために、マクロがよく使われる。 この手の仕事には、一般にインライン関数の方が適している(「PRE00-C. 関数形式マクロよりもインライン関数やスタティック関数を使う」を参照)。しかし、インライン関数を使えない場面もある(たとえば、異なる型の変数に対する演算を行うときなど)。 マクロの中に複数の文が含まれている場合、これらの文は do-while ループで構文的にひとまとめにしておくべきである。そうすることで、if 節の中など、単一の文や文のブロックが期待される箇所において、安全にマクロを使うことができる。あるいは、if文、for文、while文において、体が単一の文であっても波括弧を使用することで、マクロ中の複数の文は do-while ループを使わなくても正しく展開される

    PRE10-C. 複数の文からなるマクロは do-while ループで包む
    willnet
    willnet 2018/07/29
  • いまさらC言語のexternで悩む – ビットログ

    とある製品のソースコードを眺めていたときに疑問に思って調べたことをメモします。 C言語で通常、大域変数(グローバル変数)を複数のソースファイルで共有する場合、共通でincludeするヘッダファイルにextern int abc;みたいに書いて、ソースファイルのいずれか1つに実体をint abc;みたいに書くと(私は)思っていたのですが、その製品のソースではヘッダファイルの方にint abc;とあり、各ソースファイルにextern int abc;という風に書かれています。 一瞬、それぞれのモジュール(ソースファイル)に別々の実体が存在するのかな、と思ったのですが、実際のその製品の動きを見てみるとちゃんと変数を共有して使っているようです。 私のいままでの理解が間違っているかもしれないので調べようと思ったのですが、C言語の規約を調べるのも億劫だし、環境依存かもしれないので、とりあえずサンプルを

    willnet
    willnet 2017/10/08
  • C言語 - Wikipedia

    C言語(シーげんご、英: C programming language)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発した汎用プログラミング言語である。英語圏では「C language」または単に「C」と呼ばれることが多い。日でも文書や文脈によっては同様に「C」と呼ぶことがある。制御構文などに高水準言語の特徴を持ちながら、ハードウェア寄りの記述も可能な低水準言語の特徴も併せ持つ。基幹系システムや、動作環境の資源制約が厳しい、あるいは実行速度性能が要求されるソフトウェアの開発に用いられることが多い。後発のC++Java、C#など、「C系」と呼ばれる派生言語の始祖でもある[注釈 1]。 ANSI、ISO、またJISにより言語仕様が標準規格化されている。 特徴[編集] Cには他のプログラミング言語と比較して、特筆すべきいくつかの特徴がある。 利点[編集] 構造化プログ

    C言語 - Wikipedia
    willnet
    willnet 2012/06/04
  • C言語のincludeについて質問です。1.#include<~.h>2.#include"~.h"1と2の違いって何です... - Yahoo!知恵袋

    arduino unoで以下のプログラムを書きました。 とりあえず1つのセンサ(SCL,SDKピンに接続)は動きました やりたいことは、さらにセンサを追加して、 合計2つのセンサから、それぞれの距離をリアルタイムで(順番に)とりたいです。 プログラム初心者で困っております。 センサを追加して2つのセンサを動かす場合のプログラムを教えてくださいませ。。 何卒お助けいただけると幸いです。 #include <Wire.h> byte deviceAddress = 0x10; // The address of the TF-Luna device is 0x10 void setup() { Wire.begin(); Serial.begin(115200); } void loop() { Wire.beginTransmission(deviceAddress); // The I2C

    C言語のincludeについて質問です。1.#include<~.h>2.#include"~.h"1と2の違いって何です... - Yahoo!知恵袋
    willnet
    willnet 2012/06/04
    #include "...." とするとカレントディレクトリを最初に検索する
  • #ifdef と #ifndef と ヘッダーを書くときの定石 - y_tsuda's blog - s21g

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

    willnet
    willnet 2012/03/14
  • netswitch! | RubyInlineがすごい

    Posted by nanki Mon, 12 Mar 2007 05:14:00 GMT Rubyコード中にCのコードを埋め込めるRubyInlineを使って、 ボトルネックとなっているメソッドを置き換える。 # rubyinline.rb def benchmark s = "a" * 10000 test = Test.new t = Time.now 1000.times{test.string_xor(s, s)} Time.now - t end class Test def string_xor(str1, str2) result = str1.clone str1.length.times do |i| result[i] ^= str2[i] end result end end b1 = benchmark begin require 'inline' class T

    willnet
    willnet 2008/05/20
    rubyの中にCが書けるgem
  • 1