constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
高木 信尚(株式会社クローバーフィールド) 目次 はじめに 第1章 明日からでも使えるC++ 第2章 クラスを使いこなそう 第3章 C++プログラムの裏側 第4章 C++プログラムの移植性 第5章 C++実用テクニック はじめに はじめに 第1章 明日からでも使えるC++ 読者の中には,すでに業務でC++を使っている方も,まだ使ったことがない方もいらっしゃることと思います.本章では,C++というものがどんな言語なのかをざっとご紹介します.C++の入門書では取り上げないような機能についても一通りご紹介します.あまり詳しい解説ではありませんが,Cを使いこなせる技術者であれば,この章を読んだだけでも,C++をある程度使えるようになるでしょう. 1.1 C++というのはこんな言語 1.2 組込み開発でC++を使う 1.3 「ベターC」としてのC++はこんなに便利 1.4 Cの資産を活用しよう 1.
はじめに C++プロジェクトからC関数を呼び出したい、あるいはCプロジェクトからC++関数を呼出したい場合があります。 このテクニカルノートでは、CとC++を混在させる際に考慮すべき点をいくつか挙げています。 これは完全なガイドではなく、いくつかの一般的な障害と解決法を説明しているものです。 考慮すべき事項 1. Cリンケージを使用してください。extern "C" { // ユーザ関数定義 } をヘッダファイルに置きます。 C++およびCヘッダーファイルの両方にこれが必要であることに注意してください: C関数がC ++関数を呼び出せるようにするため C++メソッドがC関数を呼び出せるようにするため 2. C++には、より厳密な型チェックがあります。 たとえば、次のC関数の場合: void LCD_DisplayString(const uint8_t *text); Cでは、次のように呼
Doc. No. 2RDU00001 Rev C Date: December 2005 JOINT STRIKE FIGHTER AIR VEHICLE C++ CODING STANDARDS FOR THE SYSTEM DEVELOPMENT AND DEMONSTRATION PROGRAM Document Number 2RDU00001 Rev C December 2005 Copyright 2005 by Lockheed Martin Corporation. DISTRIBUTION STATEMENT A: Approved for public release; distribution is unlimited. Doc. No. 2RDU00001 Rev C Date: December 2005 3 This page intentionally le
サイボウズ・ラボの光成です。 先日、社内で主にLinux上でC/C++を用いている開発者向けの講義をしました。 「こんなことができる」と知ってもらい、興味を持てば各自で勉強してもらおうと広く浅くツールを紹介しました。 gtags, ASan, Valgrind, addr2line, cppcheck, SystemTap, perfなどです。 興味があれば講義資料「C/C++プログラマのための開発ツール」をごらんください。 コンパイラオプション 受講者には新人やサイボウズ・ラボユースの学生もいたので基本的なところから紹介しました。 C/C++コンパイラを使うときはできるだけ警告オプションをつけるのが望ましいです。 警告が出るのは自分のコードの書き方に不備があることが多いからです。 gccやclangでは-Wall -Wextraは基本としてそれ以外にも有用なオプションがあります(C++用
こんな感じで。 #include <vector> #include <string> #include <icu/unicode/unistr.h> std::string utf8ToSjis(const std::string& value) { icu::UnicodeString src(value.c_str(), "utf8"); int length = src.extract(0, src.length(), NULL, "shift_jis"); std::vector<char> result(length + 1); src.extract(0, src.length(), &result[0], "shift_jis"); return std::string(result.begin(), result.end() - 1); } std::string sji
JNIのC言語/C++側のコーディング C言語とC++の違い コーディング例 JNI関数の概要 プリミティブ型・参照型(JavaオブジェクトのC/C++での扱い) String型 [/2006-11-09] 配列型 クラスの取得・インスタンス生成 [/2008-02-02] オブジェクトのメソッド呼び出し [/2008-02-07] オブジェクトのフィールド操作 ローカル参照の終了 [2006-11-09] 例外処理 [/2007-10-13] jni.hの中でC言語/C++で使える構造体 (クラス)が定義されているが、 コンパイラーがC言語の場合とC++の場合では定義のされ方が異なり、使い方も少し異なる。 JniJikken.c: JniJikken.cpp: #include "JniJikken.h" JNIEXPORT jbyteArray JNICALL Java_JniJikk
マイクロソフトは、C++でいかにしてMicrosoft Officeのクロスプラットフォームを実現したのか マイクロソフトはOfficeソフトウェアのマルチプラットフォーム展開を進め、Windows版、Macintosh版だけでなくWebから使えるOffice Onlineに加え、iPad版、Android版も公開を始めました。 Officeのような大規模なアプリケーションのマルチプラットフォームへの移植は、どのようにして行われているのか。9月に米国で開催されたC++言語のイベント「CppCon 2014」で行われた同社の講演「How Microsoft Uses C++ to Deliver Office (and More) Across iOS, Android, Windows, and Mac, Part I 」がYouTubeで公開されています。 Officeのコア部分はC++
2013/11/23 Document - TypeScript プログラミング 公開。 2012/11/04 Document - [SL4A] WSGI 公開。 2012/03/31 Document - [ATL/WTL] WTL8.1.11324 から WTL8.1.12085 への変更点 公開。 2012/03/29 Document - [ATL/WTL] Visual Studio 2010 へ WTL をインストール 公開。 2012/02/04 Document - [SL4A] HTTP サーバ 公開。 2012/01/04 Document - [SL4A] SQLite 公開。 2011/12/04 Document - [ATL/WTL] WTL8.1.9127 から WTL8.1.11324 への変更点 公開。 2011/10/30 Document - [SL
Visual C++ 2010 Expressは32bitコンパイルのみ提供されていますが、別途Windows SDKを追加することで、64bitコンパイルができるようになります。 Windows 7 Professional 64bitにVisual C++ 2010 Expressをインストールした状態 この時点で、新規プロジェクト(Win32コンソール)を作成し、「構成マネージャ」を開き、[アクティブソリューションプラットフォーム]欄(デフォルトで[Win32]が表示されている)をドロップダウンしても、他には<新規作成...>および<編集...>だけが選択可能です。64bitコンパイルに対応していると、x64が選択できるようになるはずです。 Windows SDKのインストール 「Microsoft Windows SDK for Windows 7 and .NET Framewo
[ C++で開発 ] C++コーディング標準リンク 書籍・インターネット上で、さまざまなコーディング標準・プログラミングガイドが公開されています。 C++言語コーディング標準 C++は1998年にISOで標準化されました。この際、言語仕様も変わっているので、標準化前のドキュメントは内容が古いことがあります。 書籍 日本語 Effective C++ 第3版-プログラムとデザインを改良するための55項目("Effective C++, Third Edition"、Scott Meyers著) 最近ではC++の静的解析ツールで標準チェックルールにもなっており、C++のコーディング・ガイドラインの標準文書となっています。 C++ Coding Standards - 101のルール、ガイドライン、ベストプラクティス("C++ Coding Standards"、Herb Sutter、Andr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く