タグ

cとcppに関するkiyo_hikoのブックマーク (29)

  • 技術レポート「Windowsネイティブプログラムのエラー解析」|ソフテックだより|株式会社ソフテック

    「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。 さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。 ソフテックだより(発行日順)のページへ ソフテックだより 技術レポート(技術分野別)のページへ ソフテックだより 現場の声(シーン別)のページへ Windowsプログラム(C/C++)の厄介な問題のひとつに、アプリケーションエラーがあります。 最近では.NET Framework上で動作するマネージドプログラム(※1)のプログラムが増えてきているため、アプリケーションエラーが発生する可能性は低いと思いますが、まだまだ現役のネイティブプログラム(※2)は多いため、避けては通れない問題です。 そんな中、先日、私にアプリケーションエラーの調査依頼があり、担当することになりました。しかし、数年振り

  • C/C++のとんだ落とし穴(ハマっちまったよ) - 檜山正幸のキマイラ飼育記 (はてなBlog)

    とあるC++コードがコンパイルエラーするんですが、原因がまったく分からなかったんですよ。「そんなバカな?!」という感じ。しばらくハマってしまいましたよ。 結局、C++でもCでも同じことが起きることが分かりました。次は、僕が遭遇したのと同じ現象が起きるC言語のソースコードです。 // -*- coding: sjis -*- // strange.c struct ThreeNums { int x; // 負の数も指定可能 int y; int z; }; int total(struct ThreeNums nums) { return nums.x + nums.y + nums.z; } コンパイルすると: $ type tdm-gcc tdm-gcc is aliased to `/c/Installed/TDM-GCC-64/bin/gcc.exe' $ tdm-gcc --ve

    C/C++のとんだ落とし穴(ハマっちまったよ) - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • C/C++ Development Environment for Emacs

    In this guide, I will help you to setup an efficient working C/C++ environment. Despite looking long, the setup is short and easy (mostly copy/paste Emacs Lisp code into your init.el); most of the guide are explanations and demonstrations of many useful features. Following this guide, you should be able to browse the Linux kernel source tree inside Emacs effortlessly, such as jump to definition/re

    C/C++ Development Environment for Emacs
    kiyo_hiko
    kiyo_hiko 2015/08/19
    つよそう
  • Artistic Style

    下記は astyle 1.15.3 の astyle.html を適当に日語化してみたものです。 Artistic Style 1.15.3 C , C++ , C# , Javaソースコード用 フリー で速くて小さい自動整形ツール by Tal Davidson, Israel (E-mail: davidsont@bigfoot.com) Artistic Style は C, C++, C#, Java のソースコードのインデントや整形を行える。 ソースコードをインデント付けするとき、プログラマはインデントに合わせて空白とタブ の両方を用いやすい。さらに、エディタによってはデフォルトでタブキーが押されると空白を挿入したり、また(例えばEmacsでは)行中のコードの手前に自動で空白を置いたりあるいは段付けに今までタブだけを使用したコードに空白を挿入したりして行を整えたりする。 ソース

  • ローマ字からカナに変換する方法について

    お世話になります。 文字変換についてご質問させていただきます。 カナ文字氏名からローマ字氏名については出来ることは確認しておりますが、 ローマ字氏名からカナ文字氏名に変換することは可能でしょうか。 不躾な質問なのですが、何かクラスサンプル等、ヒントがございましたら、ご教示いただければ幸いに存じます。 一応使用言語ついては、C#2005で開発しております。 ご回答いただければ助かります。 宜しくお願い申し上げます。 以上です。

    ローマ字からカナに変換する方法について
    kiyo_hiko
    kiyo_hiko 2014/05/10
    .NETだとあるのか。たぶん使うことはないがメモル。Javaだけど自前で書くか…
  • Javaとかいう雑魚プログラミング言語wwwwwww : オリックス速報@なんJまとめ

    2012年12月27日10:16 Javaとかいう雑魚プログラミング言語wwwwwww カテゴリネタなんJ Comment(21)Trackback(0) 元スレ Javaとかいう雑魚プログラミング言語wwwwwww http://hayabusa.2ch.net/test/read.cgi/livejupiter/1356523570/ 1:風吹けば名無し:2012/12/26(水) 21:06:10.61 ID:kzybtD3x 動作遅すぎワロタwwwwwwwwwwwww C++が最強、はっきりわかんだね 2:風吹けば名無し:2012/12/26(水) 21:06:46.83 ID:3tYu4g9k 重要なのは汎用性よ 3:風吹けば名無し:2012/12/26(水) 21:07:17.75 ID:0yQjfjVq javaはEclipse使わなアカンから嫌いやわ くっそ重い 5:風吹け

    Javaとかいう雑魚プログラミング言語wwwwwww : オリックス速報@なんJまとめ
    kiyo_hiko
    kiyo_hiko 2013/06/04
    「java ←Exception吐いて止まる C++ ←メモリを破壊しながら進み続けるwwww!?!!WWWW?!!WW」 C++は怖う
  • C言語にて、入力値の型を判定する方法 - 度々お世話になります。現在、C言語にて、型判定のプログラムを作成中です。char... - Yahoo!知恵袋

    /* int float_int(char *) 関数 1)文字列なら:−1 2)整数なら:0 3)実数なら:1 を返す。 ※ Mac OSX/GCC */ #include <stdio.h> /* printf(), fgets() */ #include <string.h> /* strtok() */ #define SIZE 32 #define input(a,b) fprintf(stderr,a),fflush(stderr),*fgets(b,SIZE,stdin) int float_int(char *); /* プロトタイプ宣言 */ int main(void) { char buff[SIZE]; fprintf(stderr, "Loop end: Push [Enter] key only.\n"); while(input("? ", buff) !=

    C言語にて、入力値の型を判定する方法 - 度々お世話になります。現在、C言語にて、型判定のプログラムを作成中です。char... - Yahoo!知恵袋
    kiyo_hiko
    kiyo_hiko 2012/11/02
    チエリアン達の知恵
  • C++の4つのキャストを使いこなす

    イントロダクション C++ には全部で4種類のキャストがあります。これらの使い方をしっかり確認しておこうというのが今回の主旨です。いきなり題に入ってもいいのですが、まずは C 言語のキャストをおさらいしてみましょう。 (type-name) cast-expression C のキャストにはこの1つの形式しかありません。ややこしいですね。1つしかないのに何がややこしいかって?見た目は1つの形式しかないのに実際の動作は何通りもあるのがややこしいんです。ざっと考えただけでも次の3つの使い方が思い浮かびました。 float average(const int* array, int size); int n = (int) average(array, size); void * get_data(int nID); char * p = (char *) get_data(2); int g

    kiyo_hiko
    kiyo_hiko 2012/11/02
    typeid - 「この演算子は const type_info& を返します。type_info クラスには operator== が定義されているので、これで実行時に型を判別できます」
  • C言語の正しいヘッダファイルの書き方 - saito’s blog

    最近、仕事でC言語での組み込み系の開発に携わっています。 開発中のコードを眺めていると、ヘッダファイル内にstatic関数のプロトタイプ宣言を記述していたり、ヘッダファイル内で不必要に他のヘッダファイルをインクルードしているなど、ヘッダファイルの書き方が分かっていないと思われる箇所が多々見られました。 実際、C言語の入門書でもヘッダファイルの書き方を詳しく説明しているものは、僕の知っている限りでは存在しないので、C言語を使っていてもヘッダファイルの正しい書き方を知らない人が少なくないのではないかと思われます。 そこで、このエントリでは、C言語のヘッダファイルの書き方について、僕が知っているテクニックをまとめてみました。 インクルードガードを書く ヘッダファイルファイルで他のヘッダファイルをインクルードしていると、いつの間にか同じヘッダファイルを2回インクルードしてしまうことがあります。 例

    C言語の正しいヘッダファイルの書き方 - saito’s blog
    kiyo_hiko
    kiyo_hiko 2012/09/24
    なるほど
  • extern

    ○extern 複数ソースコードをまたいで変数やメソッドを使用するときに時に使います。 全ファイル中のどれかに定義されている 宣言だけを行い定義は行わない宣言方法です ■a.cの変数や構造体、メソッドを extern を使い、b.cで使用する ▼a.c --------------------------------------- #include <stdio.h> int i=1; struct Structure1{ char *str; } st1; void test(char*str){ i=10; st1.str ="st1\n"; printf("%s\n",str); } ▼b.c--------------------------------------- #include <stdio.h> extern void test(char*); extern void t

  • C言語何でも質問掲示板 - プログラマ専用SNS ミクプラ

    フォーラム(掲示板)ルール フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code] と [/code] で囲って下さい。詳しくはこちら

    kiyo_hiko
    kiyo_hiko 2012/09/14
    これはよさそう。たまに読む
  • 標準 Windows API - WisdomSoft

    サンプルソースは C 言語としてコンパイルしてください。 C++ としてコンパイルした場合、エラーが発生する場合があります ※誤ったプログラムを実行すると、Windowsが不安定になることもあります 重要なシステム上では実験を行わないで下さい この講座は、C言語を熟知していることが前提です

    kiyo_hiko
    kiyo_hiko 2012/08/01
    ウィナピの説明
  • 副作用、副作用完了点とは

    JIS X3010でいう副作用と副作用完了点は、原文(ISO/IEC9899)では、 side effectとsequence pointと呼ばれます。 # 個人的には原文の方が内容を示しているように思ってます。 言語仕様として、side effectsが決定することを保証するタイミングがsequence pointです。 ここでは、++aによりaの値がインクリメントするのがside effectで、 その結果が確定するのが、sequence pointです。 sequence pointの条件はいろいろありますので、当に興味があれば言語仕様を読んでみてください。 とりあえず、++aやa++だけでは、sequence pointはありません。 ++a;なら、;の時点がsequence pointです。 参考URLが、JIS X3010:1999です。(※閲覧しかできません) (原文の方は

    副作用、副作用完了点とは
    kiyo_hiko
    kiyo_hiko 2012/06/22
    副作用はScalaとかHaskell本でバンバン見たが、副作用完了点という言葉は知らなかった メモ
  • ポインタの裏話

    ポインタの裏話 岡﨑 直観 okazaki at ecei.tohoku.ac.jp http://www.chokkan.org/ @chokkanorg ポインタの裏話 プログラミング演習A 1 このような説明を 覚えていますか? 知らなくても全く問題ありません ポインタの裏話 プログラミング演習A 2 int x = 0; &xは変数xの「アドレス」 「番地」「住所」を返す 変数x 0 &x メモリ空間, 記憶空間 変数xのアド レス(住所) ポインタの裏話 プログラミング演習A 3 ____ / \ 何言ってたんだこいつ? / ⌒ ⌒\ 番地 アドレス ぬるぽ / (●) (●) \ \ / | 、“ ゙)(__人__)" ) __________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | || / , \n||

  • 今さらC言語/C++言語を学んでも後悔はないでしょうか。…

    今さらC言語/C++言語を学んでも後悔はないでしょうか。 C言語で役立つところを教えてください。 C言語ではWeb用途では何があるでしょうか? また、C言語はどのようなエディタで開発したら良いでしょうか?

    kiyo_hiko
    kiyo_hiko 2012/03/27
    PerlでCの流儀っぽいもの使って組まれてイライラしているが、他の言語と並行で学ぶのなら意味があるかと。C単品はやだ OOとか抽象化能力を鍛えるのには、ダイレクトにメモリー触れちゃうCは向いてない希ガス
  • Yohta's Object World ~YOHTAのオブジェクト指向研究 デザインパターン・UML などなど~

    Yohta's Object World Study of Design Pattern Mastering Unified Modeling Language. Study of Design Pattern デザインパターンの骸骨たち (RE-BONE ) with C デザインパターンにC言語版を追加! (2009.2.28) デザインパターンの塗り薬 Sample Application for GOF's Design Pattern COMMANDを追加!(2004.5.29) jjtree(JavaCC)で、Visitorパターンをマスター 第八回修正 (2011.12.29) Special Issue C++ビギナーに捧ぐ EffectiveC++入門 フレッシュマン特集(2005.03.16) AMIGO FOR Win32 (Win32プログラミングのお助けクラス達)

  • 3Dゲーム制作 - プログラマ専用SNS ミクプラ

    DXライブラリを今まで使ってきましたが、3Dゲームを作る上ではダイレクトXを新たに習得したほうが良いでしょうか? DXライブラリやEasy3Dでは、C言語で3Dゲームを組むことが可能です。 ただし、DXライブラリはシェーダ対応していないので、モデルの描画レベルがPS1程度です(ポリゴン数は多いですが)。 Easy3Dは、もっと複雑なことが出来ます。 http://www5d.biglobe.ne.jp/~ochikko/ [追記] 最初に3Dをやるとカメラを動かしたり、キャラを地面に立たせて歩かせるだけでむちゃくちゃ苦労すると思います。 なので、基礎的なことから徹底的にやるにはDXライブラリを選ぶのは悪いことではありません。 ただ、3D関係の情報はDirectXが多いんですよね。 DirectXやSELENEなどのライブラリを使うならC++がほぼ必須です。 DirectXだけならC言語の

    kiyo_hiko
    kiyo_hiko 2012/02/21
    DXライブラリーとかAIMSとかの便利そうだけどそのうち / まずDirectXという、古から伝わる技術を知っときたい
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 条件演算子 - Wikipedia

    条件演算子(じょうけんえんざんし、英: conditional operator)は、プログラミング言語の演算子で、条件文と同様な意味があるが、文ではなく値を持つ式になる。評価されると、条件式の値により異なる式が評価され、異なる値になる。 なお、C言語やC++など一部のプログラミング言語において、条件演算子とは後述する「? :」(ハテナマークとコロン) の演算子の名称である。 「If 〜 Then 〜 Else 〜」にあたる三項演算子があり、ほぼ唯一の、プログラミング言語において一般的な三項演算子である。また「If 〜 Then 〜 if」にあたる二項演算子もある。 三項演算子は、条件式・真式・偽式の3つのオペランドを結ぶ。二項演算子の場合は、条件式と、真式または偽式のいずれかの、2つのオペランドを結ぶ。 条件文との違いは、 真式・偽式は式(条件文における節のように文を置くことができない)

    kiyo_hiko
    kiyo_hiko 2012/02/15
    「CやJavaやPerlなどでは、a ? b : c ? d : e は a ? b : (c ? d : e) という意味だが、PHPの三項演算子では (a ? b : c) ? d : e なので注意が必要である」…なぬ。自分は条件演算子をcondやCASE代わりに多用するので、これは気を付けないと
  • sizeofオペレータを正しく使おう ――C/C++セキュアコーディング入門(5)

    はじめに 今回はsizeofオペレータをとりあげます。sizeofは、引数に与えたオブジェクトや型名から、その型のデータがメモリ上に占めるバイト数を求めるオペレータです。皆さんも、メモリ領域を動的に確保したいときや文字列操作などに関連して使ったことがあるでしょう。まずはsizeofオペレータの使用上の注意について説明し、その後でsizeofオペレータの誤用例を2つ紹介します。 sizeofオペレータ使用上の注意 「sizeofオペレータの使用上の注意 その1」は、プログラマが意図する正しい引数を渡すこと、です。メモリ上のオブジェクトのコピーや移動などの操作は、オブジェクトのメモリ上のサイズにもとづいて行います。オブジェクトのサイズを間違っていたら、アクセス違反やオーバフローといった脆弱性につながることは容易に想像できるでしょう。 「sizeofオペレータの使用上の注意 その2」は、引数に副

    sizeofオペレータを正しく使おう ――C/C++セキュアコーディング入門(5)
    kiyo_hiko
    kiyo_hiko 2012/02/07
    「引数に副作用を持つような式を渡さないこと」…例えばsizeof(a++)はだめという話