タグ

C++とprogrammingに関するkuenishiのブックマーク (52)

  • GC FAQ -- harder stuff

    Harder stuff Thread support Makes life interesting, since a garbage collection may now occur "at any time". In addition, few thread packages make it easy to stop other threads and retrieve their state, an operation that's required by most garbage collectors. Atomic operations may require additional code to ensure that they are really atomic (two examples are reference count update and object copyi

  • Bjarne Stroustrup インタビュー (?)

    これは物なのかなあ…。Computer 誌(IEEE 発行)が C++ 言語の開発者 Bjarne Stroustrup 氏に行ったインタビューの記録だそうです。内容に非常に問題があるため実際には掲載されなかったのが、どこからかリークされたものだとか。 物かどうかは自分で判断してください。私としては何とも言えません。Usenet のニュースグループ rec.games.roguelike.angband への投稿記事が原文です。(英語原文はこちら) インタビューア(以下「I」):  あなたがソフトウェアデザインの世界を一変させてから何年にもなる。振り返ってみて、感想は。 Stroustrup(以下「S」):  実はあなたがここへ来る直前、当時のことを思い出していたんだ。おぼえているかな。誰もが C 言語を使っていたけど、問題はみんな結構うまくコーディングしていたことだった。大学も C

  • 少し詳しい型変換の説明

    型変換については、第4章で簡単に説明しましたが、複雑な規則があり、迷うことの多い部分です。ですから、ここで少し詳しく算術型の型変換について説明してみようと思います。 なお、説明中で用いたコードの実行結果は「Borland C++ Compiler 5.5」(int:4バイト short:2バイト char:1バイト)で確認をしています。 1.汎整数拡張 文字型や整数型などの汎整数型の場合、型が、int より小さな場合(char, signed char, unsigned char, short, unsigned short)は、演算の最初に int か、表現できなければunsigned int に変換されます。このとき、符号を含めてその値を変えることはありません。 (例)short a = 30000, b = 30000; printf("sizeof(a) = %d\n", siz

  • Cscope Home Page

    Updated 2012-08-04 (15.8a Released) - downloads SourceForge Project Page is here Cscope is a developer's tool for browsing source code. It has an impeccable Unix pedigree, having been originally developed at Bell Labs back in the days of the PDP-11. Cscope was part of the official AT&T Unix distribution for many years, and has been used to manage projects involving 20 million lines of code! In Apr

    kuenishi
    kuenishi 2009/09/04
    マスコットキャラがかわいい
  • Engadget | Technology News & Reviews

    Anker's 3-in-1 MagSafe foldable charging station drops back down to its Prime Day price

    Engadget | Technology News & Reviews
  • きまぐれ日記: pubic static はコンピュータに伝える約束事ではない

    http://www.atmarkit.co.jp/news/200904/10/matz.html PerlRubyPythonといったスクリプト言語では、 記述が非常にストレートで端的になる。JavaC++といった言語では、 「public static void mainなど、コンピュータに伝える約束事が多くて、 やりたいことが頭の中から逃げてしまう。簡潔さは力なのです」(まつもと氏)。 これは書くときだけでなく、読むときにも同様だ。 まつもと氏の記事を読んで、仕事として大規模な共同開発の経験に基づいているのかなと思いました。 publicとかstaticとかconstというのは書く側からすると約束事で めんどいということには同意しますが、毎日のようにコードレビューを している経験からいうと、コードレビューをする側にとってこいうキーワードがあるかないかで全く意味が異なります。メ

  • C++で開発

    [ Home on 246net ] C++で開発 好むと好まざるとに関わらず、C++言語を使った開発をすることになったときに調べたことの蓄積。 言語仕様 ブートストラップ main関数 main関数について パッケージ管理 名前空間 名前空間の使用 ヘッダファイル ヘッダファイルとは インクルードガード ヘッダファイルの依存性をなくすには 文法要素 プリプロセッサ 条件コンパイル 可変引数を取る関数(stdargs他) 定義済みマクロ 型 組み込み型 標準定義型(標準typedef等) ビットサイズ固定整数型、 typedefの注意 クラス コンストラクタ メンバー変数 演算子関数 ビットフィールド 継承 例外 標準例外 例外処理のプログラミング テンプレート メンバ関数の特殊化 デバッグ アサーション ANSI Cのassert VC++固有のassert コーディング標準 公知のコー

  • googletest - Google C++ Testing Framework - Google Project Hosting

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    googletest - Google C++ Testing Framework - Google Project Hosting
  • C++とJavaのレガシーについて語るのは時期尚早か?

    C++Javaが残したレガシー(ブログ)についてBruce Eckel氏が最近投稿したブログが大きな反響を呼んだ。彼はいくつかの設計ミスについて述べるも、両言語がプログラミング言語の発展において大きな役割を担い、重要な建設的レガシーを残してきたと結論付けた。しかし、これら言語のレガシーについて語るのはまだ早いのではないだろうか。 かつてのC++標準化委員会メンバーであるEckel氏は、この言語とCとの下位互換性に関する意思決定をはじめから回想している。 この言語がいかにして不愉快かつ複雑なもので、しかし同時に適切に設計されたものとなりうるかを理解するには、C++における全てを左右する基の設計決定、つまりCとの互換性を頭に入れておかなければいけません。Stroustrup氏は、Cプログラマの大半をオブジェクトに移行させる方法は移行をトランスペアレントなものにすることだと方針を固めました(

    C++とJavaのレガシーについて語るのは時期尚早か?
    kuenishi
    kuenishi 2009/04/20
    単純によくわからない。レガシーとは何だ?
  • BK通信 ―Bad Knowhow Tsushin―:#03 C++のバッドノウハウ|gihyo.jp … 技術評論社

    ソフトウェアなどを使いこなすために、ストレスを感じながらもしぶしぶ覚えなければならないようなノウハウ、「⁠バッドノウハウ」がテーマの連載、第3回の今回は極めてBKフル(バッドノウハウが多い)言語であるC++を取り上げたいと思います。 C++再考 いまどきのWebアプリケーションはPerlRubyなどのLightweight Languageで作られているものが多く、C++の出番は非常に少ないように見えます。ところが、知人などに話を聞いてみると、基的にPerlで作られているサービスでも、性能に効いてくる要所要所にC++が使われているという話をよく耳にします。 C言語ではなくC++を使うのは、オブジェクト指向言語ということもありますが、標準ライブラリに含まれる便利なコンテナ(string、vector、mapなど)を使いたいという理由も大きいようです。たしかに、一度これらのコンテナを使っ

    BK通信 ―Bad Knowhow Tsushin―:#03 C++のバッドノウハウ|gihyo.jp … 技術評論社
  • グーグル、C 向けテストツールをオープンソースで公開 - @IT

    2008/12/12 米グーグルは12月11日、C++用のテストツール「Google C++ Mocking Framework」(Google Mock)をBSDライセンスの下に、オープンソースとして公開したと発表した。Google MockはLinuxWindowsMac OS Xで使える。同社はGoogle Mockを100以上の社内プロジェクトで利用しているという。同社は5カ月前にも「Google C++ Testing Framework」(Google Test)をオープンソースで公開しており、両者を併用することでMockオブジェクトを使ったテスト駆動開発が行えるという。将来的にはGoogle MockをGoogle Test以外のテストツールでも使えるようにしていくという。 Mockオブジェクトは、プロトタイプ設計やテスト時に利用するもので、物のオブジェクトを実装する代

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    kuenishi
    kuenishi 2008/11/16
    g++で-ldlして、なんかロードするとvalgrindではメモリが漏れているようにみえる。
  • 発表:新Google C++ テストフレームワーク

    近ごろGoogleは、C++開発向けxUnit(リンク)ベースのテストフレームワークをオープンソース化した。プロジェクトデベロッパのZhanyong Wan氏よると、そのフレームワークは何年もの間数千人のC++デベロッパによりGoogle内部で使用されてきたと言われている。 Googleによると、このリリースで最も注目すべき点は以下のとおりである。 Google Testはポータブルである。GCCおよびMSVCコンパイラの複数バージョンの多様なプラットフォーム上 (LinuxWindowsMac OS Xなど)で、例外の有無を問わず動作する。Windows CEやSymbianのような組み込みシステムにおいても使用することができる。これら向けのビルドツールやテストランナーは多くが開発中で、Linux Autotools(リンク)サポートは環境が整っている。 致命的および非致命的(リンク

    発表:新Google C++ テストフレームワーク
  • はじめてのにき(2008-06-30)

    _ cppguide http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml はてぶされてるか確認すれば 当にパブリックになってるか調べられるとわかった。 それはそうとまぁ個人的な印象は、 例外無し。一番でかい点だと思うけど、まぁ別に良い。あんま例外が向くアプリ書かんというのもあると思う。 大文字スタートの関数名がつらい。あと家で書く時にメンバ変数とかの名前が無茶苦茶になった。 hoge_len とか hogeLen とか普通に混ぜてしまって困る。 ヘンなこと、凝ったことするな、っていうのは人と作業する場合は完全に正しいと個人的には思う。凝ったコード書くのは家でやればだいたい満足するのでわざわざ仕事でやらんでもと思うし。 空気読め。一貫性と臨機応変重要。 って感じだったと思う。 まぁ今も、ほどよい感じで、個人的には不審

  • 変電工 - Google C++スタイルガイド日本語訳

  • C++ Style Guide

    Benjy Weinberger Craig Silverstein Gregory Eitzmann Mark Mentovai Tashana Landray This style guide contains many details that are initially hidden from view. They are marked by the triangle icon, which you see here on your left. Click it now. You should see "Hooray" appear below. Hooray! Now you know you can expand points to get more details. Alternatively, there's an "expand all" at the top o

    kuenishi
    kuenishi 2008/07/06
    coding conventionのようなものか
  • moratorium | tbb::parallel_sort

    tbb::parallel_sort oxyたんがstd::sort速くなったらいいなあと呟いていたので、Intel TBBを試してみた。 id:nishidakeisukeさんも最近書かれていましたね。 - インテル スレッディング・ビルディング・ブロック オライリーの自体は4月ぐらいに読み終わっていたのだが、実際に試してなかったので試してみた。 ダウンロードして来てビルド。 pficore% wget "http://www.threadingbuildingblocks.org/uploads/77/111/2.1/tbb21_20080605oss_src.tgz" pficore% tar vzxf tbb21_20080605oss_src.tgz pficore% cd tbb21_20080605oss/ pficore% make pficore% sudo make

  • ロベールのC++入門講座を読んで C++ を初歩の初歩から再入門するよ - 前編 - ひげぽん OSとか作っちゃうかMona-

    前置き 自分の C++ レベルに絶望したので「ロベールのC++入門講座」を読んで再入門していく過程を日記に書いていきます。 「おまえはそんなことも知らずにコードを書いていたのか!」「それは間違い!」など叱咤激励募集中です:-) 読んでみたら、たくさんの驚きがありました。 スルーせずに読んでもらえると1つくらい役に立つことを提供できるかもしれません。 例えば5章のデフォルト引数に関数を使える例とか。 ルール 前置きはともかくはじめましょう。13:48にスタバで始めました。 読んで行くうえでいくつかルールを決めます。 知らなかったことは正直に知らなかったと書き、自分が読んで分かる説明を書く。 知識が曖昧だった所も同様に明確な説明を書く。 悩んだ内容を書く。 理解が怪しい所は必ずコードを書く。 さあ1章から読んでみよう。 1章 まずは使い方(13:50) 各 OS 毎に C++ の開発ツールを紹

  • gccで定義されているマクロを見る

    % echo | gcc -v -E -dM - #define __DBL_MIN_EXP__ (-1021) #define __FLT_MIN__ 1.17549435e-38F #define __CHAR_BIT__ 8 #define __WCHAR_MAX__ 2147483647 #define __DBL_DENORM_MIN__ 4.9406564584124654e-324 ... MacOS Xの場合, #define __APPLE__ 1 と定義されていて,エンディアンは, #define __BIG_ENDIAN__ 1 となっているか, #define __LITTLE_ENDIAN__ 1 となっている.

  • yunoの雑記帳 - gcc/attribute

    gcc4.1の__attribute__のメモ。 関数属性 † __attribute__((alias("name"))) 関数を他の関数のエイリアスにする。 void foo() __attribute__((alias("bar"))); __attribute__((always_inline)) 最適化がオフのときでも、関数をインライン展開する。 __attribute__((flatten)) 関数のサイズやインライン化パラメータを無視して、常にインライン展開する。 __attribute__((cdecl)) 386専用。 __attribute__((const)) 関数に副作用がなく、戻り値が引数のみに依存すると仮定する。 __attribute__((constructor)) 関数がmainに入る前に自動的に呼ばれるようにする。 __attribute__((dest