Subscribe to this list via RSS Blog posts tagged in Japan
Delphi用の新しいマルチスレッドライブラリ(darkThreading) この記事は、Craig ChapmanによるA new mutlti-threading library for Delphi. (darkThreading)の抄訳です。 ご存知の方もおられるかとおもいますが、私は、過去2〜3ヶ月間、Delphiの新しいビデオゲームエンジンの開発に取り組んでいました。また、その要求にたくさんの時間がかかりました。そのため、しばらくblogを投稿できませんでした。しかし、ゲーム開発プロジェクトの中で、別のものをDelphi用のオープンソースライブラリとしてリリースすることができました。darkThreadingを紹介したいと思います。   Introduction 多くのマルチスレッドまたは並列プログラミングライブラリは、タスクモデルを採用しています。このようなモデルでは、メインスレッドはいくつかのタスクを準備し、それらを実行するスレッドプールにスローします。ほとんどの場合このモデルを採用し非常にうまく機能しますが、理想的ではない場合もあります。ゲームエンジンプロジェクトはそのようなケースです。 ビデオゲームエンジン...

Posted by on in Blogs
IDE利用でC++の生産性向上 この記事は、MT KellyによるUsing an IDE: Getting back to code fasterの抄訳です。   C++IDE(統合開発環境)は、C++アプリケーション作成やプログラムコーディングを提供するためのアプリケーション開発ソフトウェアです。アプリケーションを開発するために単一のインタフェースで必要なすべてのツールが組み込まれています: Compiler Debugger Code Editor UI Designer Documentation   一部の開発者は、アプリケーションを書くのに必ずしもIDEが必要というわけではありませんが、有益であると思われるいくつかの例外的な共通の機能があります。IDEを使用すると、構文強調表示、リンク、コード・インサイト、クラス・ブラウザー、インテリジェント・コード補完、文書化などの便利なツールが追加されます。   IDEは、アプリケーションモデルを拡張でき、より包括的(統合システムメソドロジ)を可能にします。メソッドを変更すると、コードに赤い線...

Posted by on in Blogs
標準C++の進化 この記事は、David MillingtonによるEvolution of C++ standardsの抄訳です。   開発者にとってC++プログラミング言語は技術的なチャレンジできる、おそらく最も広く使われているコンパイル言語の1つであり、最もエキサイティングなものです。 「過去について知っていれば分かるほど、あなたは将来のために準備が整っています(the more you know about the past, the better prepared you are for the future)」(Theodore Rooseveltの誤た引用)、C++の歴史とそのコーディング、昨今の様子を見てみましょう。  C++は1979年にBjorne Stroustrupによって始められたC言語拡張からGrew Outしたことを多くC++ユーザーは知っていると思います。そして、もともと「C with classes」をCにコンパイルした最初のC++コンパイラ、Cfrontを知っているかとおもいます。Cfrontは 複雑すぎてC言語でコンパイル...
Delphi 10.2.3 [RAD Server Linux Apache]パッチリリース この記事は、Marco CantuによるDelphi 10.2.3 RAD Server Linux Apache Patch Releasedの抄訳です。 弊社はRAD Studio / Delphi / C++Builder 10.2.3用にいくつかのパッチをリリースしました。そのことについて私(Marco Cantu)は下記URLに記事をポストしています。http://blog.marcocantu.com/blog/2018-april-10-2-3-patches-recap.html また、Sarina DuPontがiOS対象とするパッチを紹介しています。https://community.embarcadero.com/blogs/entry/rad-studio-10-2-3-ios-11-3-patch-available-ja   先日、弊社はLinux上のApacheにRAD Serverモジュールを導入する際にいくつかの重大なIssueに対処するパッチをリリースしました。このIssueは、Quality Portalやコミュニ...
RAD Studio / Delphi / C++Builder 10.2.3 iOS 11.3パッチリリース この記事は、Sarina DuPontによるRAD Studio 10.2.3 iOS 11.3 Patch availableの抄訳です。   今週初めにRAD Studio / Delphi / C++Builder 10.2.3用パッチをリリースしました。 これはiOS 11.3アプリ開発, App Store, Ad Hoc or In-House Distributionのビルドサポートです。 このパッチは、公表されている以下のIssueを修正しています: RSP-20268 RSP-20303 RSP-20342 RSP-20346 パッチをダウンロードするには、ここをクリックしてください。    ...
10.2.3 C++ 4KB以上のスタック割り当てに関する問題のホットフィックス この記事は、DAVID MILLINGTONによる10.2.3 C++ Hotfix for an issue with a 4KB or larger stack allocationの抄訳です。   10.2.3では、メソッド内のスタックに4KB以上を割り当てる fastcall呼び出し規約を使用するメソッドに影響を与える issueがあります。スタックの割り当てによって、 'this'ポインタに不正な値が格納される可能性があります。 これは次のように報告されました: RSP-20171 RSP-20297 、RSP-20173 (duplicate reports) CodeCentralからホットフィックスをダウンロードできます   技術情報 技術的な詳細に関しましては、“Stack Grows”すると、新しいページに増やす必要があり(4KBはWindows上のページのサイズ)定義すると発生します。コンパイラが4KB以上のスタック割り当てを認識すると、次のページが確実にコミットされるようにメソッドを呼び出します。 ...

Posted by on in Blogs
ECMAScriptやPHPのような連想配列 連想配列は[キーか]ら連想される内容(Value)をプログラムで登録しておき、必要なときに[キー]から検索した内容(Value)を取得できるデータコンテナです。ECMAScript(JavaScript)では変数にJSONを入力すると連想配列として扱うことができます。   JavaScript言語 var l_associative = { 'りんご': 'ゴリラ' }; console.log(l_associative.りんご); > ゴリラ   PHP言語 <?php $l_associative = array('りんご'=>'ゴリラ'); print_r("ANSER = ".$l_associative['りんご']."\n"); ?> このように、連想配列はさまざまなプログラム言語で利用されています。C++での連想配列は標準ライブラリのmapが使用できます。一般的に連想コンテナといわれています。では、C++Builder VCLアプリケーションのプロジェクトで標準ライブラリのmapを使...
C++でモバイルアプリを作成する理由 この記事は、DAVID MILLINGTONによるWhy create mobile apps in C++の抄訳です。 モバイル開発には、Swift、Objective C、Java、Kotlin、Delphi、C#、C++など、さまざまな言語が使用されています。 C++を選択する理由は何ですか? 表現力、簡潔さ、パフォーマンスの3つの軸に沿った言語を考えてみましょう: エクスプレッシブな言語を使用することでコードを強力なコンセプトで簡単に記述する。それは便利な方法でデータを操作するのは簡単です。この場合のデータとはアプリが使用する変数であり、強力な方法で操作する(non-trivial)ことを意味し、そのデータを変化させるのか、それとも単に操作するのかということです。 コンサイスな言語で、素早く表現する。タイプレス。実装するキーストロークが少なくて済むようなクリアで読みやすく理解しやすい、画面上のスペースが少ないことです。 高速にコードコンパイルできるパフォーマンスとその言語のデザインメイクは最適化されたコードを簡単に記述することができる ...

Posted by on in Blogs
10.2.3で CMake with Ninjaを使う この記事は、DAVID MILLINGTONによるNew in 10.2.3: Using CMake with Ninjaの抄訳です。 CMakeを使ったビルドのサポートは10.2.3の大きな新機能の1つです。まだ試されてない場合はイントロダクション WindowsでのCMakeビルドとiOS/Androidでのビルドをお読みください。 本投稿の利用方法カバーはCMakeジェネレータとNinjaでの高速パラレルビルドえす。 CMake ジェネレータ CMakeはコンパイラとプラットフォームに依存しないプロジェクトシステムですが、その名前にもかかわらず、実際にはメーキングやビルドはしません。そのかわりに、システム上にあるツールを利用し、CMakeLists.txtファイルを構築に必要なビルドデータに変換します。そのコンバージョンジェネレータです:特定のビルドシステム用のファイル/データを生成。これらを一度生成すると、そのツールを使用してビルドします。 プロジェクトを変更した場合、例えば、新しいファイルを追加したり、設定を変更するなどして、CMake自体を再実行す...
10.2.3の新機能:iOSとAndroid用のCMakeのサポート この記事は、DAVID MILLINGTONによるNew in 10.2.3: CMake Support for iOS and Androidの抄訳です。   前回C++コンパイラのCMakeサポートに関してご紹介致しました。CMakeとは何か、Win32とWin64の両方でWindows用の使い方について説明しました。https://community.embarcadero.com/blogs/entry/new-in-10-2-3-cmake-support-ja 今回はCMakeをiOS, Androidなどのモバイル用に使用した方法のご紹介です。これは、CMakeを呼び出す方法と、CMakeLists.txtファイルにモバイル固有の情報を書き込む方法の両方です。 CMake for iOS and Android CMakeでWindowsをターゲットをビルドするときは、Win32またはWin64のC/C++コンパイラを指定します。一度利用したいコンパイラをCMakeが検出し取り出します -- Win32: cmake -D...

Check out more tips and tricks in this development video: