タグ

c++に関するtamakoronのブックマーク (9)

  • 2016年、C言語はどう書くべきか (後編) | POSTD

    (前編はこちら: 2016年、C言語はどう書くべきか (前編) ) (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) システム依存の型 まだ「32 bitのプラットフォームでは32 bitのlong型、64 bitのプラットフォームでは64 bitのlong型がいい」という不満があるようですね。 プラットフォームに依存する2つの異なるサイズを使うため、 故意に コードを難しくすることを考えたくなければ、システム依存の型のために long を使おうとは思わないでしょう。 この状況では、プラットフォームのためにポインタ値を保持する整数型、 intptr_t を使うべきです。 モダン32-bitプラットフォームでは、 intptr_t は int32_t です。 モダン64-bitプラットフォームでは、 intptr_t は int64_t です。 int

    2016年、C言語はどう書くべきか (後編) | POSTD
    tamakoron
    tamakoron 2016/02/21
    2016年、C言語はどう書くべきか (後編)
  • 2016年、C言語はどう書くべきか (前編) | POSTD

    (訳注:2016/3/2、いただいた翻訳フィードバックをもとに記事を修正いたしました。) (訳注:著者のMattより、「文中で明言はしていないが、この記事の内容はx86-64 Unix/Linux/POSIXでアプリケーションをプログラミングする場合にフォーカスしている。他のプログラミング領域では、対象とするシステムに応じた(例: 8-bitの組み込みシステム、10年前のコンパイラ、多くの異なるCPUアーキテクチャで動く必要のあるアプリケーション、Win/Linuxでのビルド互換性など)特有のアドバイスが必要」との補足を頂いております。) 以下の文章は2015年の始めに書いたドラフトで、今まで公開していませんでした。私のドラフト用フォルダの中で誰の目も引かなかったため、大部分が書いた時のままです。公開するにあたり、単純に2015年を2016年に変更しました。 必要な修正、改善、苦情があり

    2016年、C言語はどう書くべきか (前編) | POSTD
    tamakoron
    tamakoron 2016/02/20
    2016年、C言語はどう書くべきか (前編)
  • C++11のスレッド、アフィニティ、ハイパースレッディング | POSTD

    背景と導入 何十年もの間、CやC++の標準規格は、マルチスレッディングや並行処理を「その標準の範囲を超えたもの」として扱ってきました。標準規格の目的である”抽象機械”の力が及ばない、”対象依存”という影の世界においてです。メーリングリストやニュースグループの質問には並行処理に関するものが山ほど寄せられましたが、それらにすぐに突き返された回答は「C++はスレッドには関知しません」という何とも冷淡なものでした。この件によって当時のことを思い出す人々は、今後も絶えないでしょう。 しかしC++11の登場で、そんな状況に終止符が打たれたのです。C++標準化委員会は、時代の流れに乗らないと、この先C言語が取り残されてしまうと悟ったのでしょう。彼らはスレッドや同期メカニズム、アトミック操作、メモリモデルなどの存在に、ようやく気付いたわけです。そして標準規格として、C++コンパイラやライブラリのベンダーに

    C++11のスレッド、アフィニティ、ハイパースレッディング | POSTD
    tamakoron
    tamakoron 2016/02/15
    C++11のスレッド、アフィニティ、ハイパースレッディング
  • C++11時代のEmacs C++コーディング環境 - Qiita

    ということで、要は Emacs for C++の環境を実際に構築してみました、というだけですが、こちらの記事には実際の設定方法などが詳しく書かれていないので、その辺りを中心に紹介したいと思います。 なお、使用環境はOSがUbuntu 14.04 (X環境)、Emacsは個人的には25.1.50.2 (snapshot版) ですが、この記事の内容についてはUbuntu 14.04付属の24.3でも動作することを確認しています。 準備 まず、環境構築に必要となるパッケージを入れておきます。Ubuntu 14.04ならapt-getで入れるだけです。 cmakeでプロジェクトをビルドできるようにする cmakeは、autoconfのようなMakefileを生成するためのツールです。コードの補完やタグジャンプを正確に行うには、インクルードパスやプリプロセッサ設定などのビルド条件をきちんと指定する必

    C++11時代のEmacs C++コーディング環境 - Qiita
    tamakoron
    tamakoron 2016/01/10
    C++11時代のEmacs C++コーディング環境
  • C++でprint(array)がしたい ~STL判別機のお勉強~ - くれなゐの雑記

    この記事は, KobeUniv Advent Calender 2015 12日目として書かれたものです. 参考文献をめっちゃ頼りにしました. 勉強になりました. 多分今回のプログラムはC++11で動くと思います. vector や array , map はググったら無限に資料が出てくるのでそちらを参照してください 今回の記事を書く上でやりたいことがなかなかみつからなかったので, こういうタイトルにさせていただきました Motivation Pythonとかの言語で, arrayをprint()できるのずるくないですか???? C++でもやりたい と思って, ふとコードを書いてみた次第です. かなり入門から書いてるので, ぜひぜひC++拒否してる人も目を通してみてはいかがでしょうか. コンテナ まず, 前提条件として, C++用の配列を知っておいていただきたいです. コンテナとは, C+

    C++でprint(array)がしたい ~STL判別機のお勉強~ - くれなゐの雑記
    tamakoron
    tamakoron 2015/12/14
    C++でprint(array)がしたい ~STL判別機のお勉強~
  • C++でCプリプロセッサを作ったり速くしたりしたお話

    1. C プリプロセッサを使ってみよう 2. C プリプロセッサを作った話 3. C プリプロセッサを高速化した話

    C++でCプリプロセッサを作ったり速くしたりしたお話
    tamakoron
    tamakoron 2015/12/09
    C++でCプリプロセッサを作ったり速くしたりしたお話
  • Linux共有ライブラリの簡単なまとめ - wagavulin's blog

    Linuxで共有ライブラリ(*.so)を作るようになったのでちょっと勉強してみた。今までは使うだけだったので、以下のようなことは知っていた。 作るときはgccの-sharedオプションを使う。 使うときはgccの"-lライブラリ名"でリンクするライブラリを指定する。 リンク時のライブラリ探索パスは-Lオプションで指定する。 実行時のライブラリ探索パスは/etc/ld.so.confに書いてあるディレクトリ。環境変数LD_LIBRARY_PATHでも指定可能。 ライブラリを作るときは、.cから.oを作るときに-fPICをつけるといいらしい。 新しくライブラリを入れたときはldconfigするといいらしい。 逆に今まであまり知らなかったこと。 ほとんどのライブラリはlibhoge.so, libhoge.so.1, libhoge.so.1.1のように3つくらいのファイルがあり、libhoge

    Linux共有ライブラリの簡単なまとめ - wagavulin's blog
    tamakoron
    tamakoron 2015/11/10
    Linux共有ライブラリの簡単なまとめ
  • clang-format configurator

    × Error

  • ゲーム開発者のための C++11/C++14

    constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだGenya Murakami

    ゲーム開発者のための C++11/C++14
    tamakoron
    tamakoron 2015/10/30
    ゲーム開発者のための C++11/C++14
  • 1