タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programmingとc++と.netに関するItisangoのブックマーク (14)

  • 方法: C++/CLI でプロパティを使用する

    この記事では、C++/CLI でプロパティを使用する方法について説明します。 基的な性質 基プロパティ (単にプライベート データ メンバーを割り当て、取得するだけのプロパティ) の場合、get アクセサー関数と set アクセサー関数を明示的に定義する必要はありません。プロパティのデータ型だけを指定すると、関数がコンパイラによって自動的に提供されるためです。 次のコードは、基プロパティを示しています。 // SimpleProperties.cpp // compile with: /clr using namespace System; ref class C { public: property int Size; }; int main() { C^ c = gcnew C; c->Size = 111; Console::WriteLine("c->Size = {0}",

    方法: C++/CLI でプロパティを使用する
    Itisango
    Itisango 2020/11/09
    「基本プロパティ (プライベートデータメンバーを割り当てて取得するだけのプロパティ) では、get および set アクセサー関数を明示的に定義する必要はありません。」 #Windows
  • アプリケーションのEXEファイルやDLLファイルを1つにまとめるには? - @IT

    外部のコンポーネント(通常はDLLファイル)などを利用して.NETでアプリケーションを作成する場合、アプリケーション体(EXEファイル)の実行には当然ながらそれらのDLLファイルが必要になる。しかしアプリケーションをユーザーに配布する場合などでは、ファイルの数は少ない(できれば1つのEXEファイルのみの)方が扱いやすい。 米Microsoftが無償で提供しているツール「ILMerge」を利用すれば、EXEファイルと、その実行に必要な複数のDLLファイルを1つのEXEファイルにまとめることが可能だ(正確には、ILMergeは複数のアセンブリを1つのアセンブリにマージする)。 複数のファイルを1つにまとめる「ILMerge」 ILMergeは次のページからダウンロードできる。このページには.NET Framework 2.0用と1.1用のインストール・パッケージ(.msiファイル)が用意され

  • 名前空間 (C++)

    名前空間は、その内部にある識別子 (型、関数、変数などの名前) のスコープを定める宣言領域です。 名前空間は、コードを論理グループにまとめるため、およびコード ベースに複数のライブラリが含まれる場合に特に発生する名前の競合を回避するために使用されます。 名前空間スコープのすべての識別子は互いどうしを修飾なしで参照できます。 名前空間の外の識別子がメンバーにアクセスするときには、識別子ごとに完全修飾名を使用するか (std::vector<std::string> vec; など)、単一の識別子のために using 宣言を使用するか (using std::string)、名前空間内のすべての識別子のために using ディレクティブを使用する (using namespace std;) ことができます。 ヘッダー ファイル内のコードは、常に完全修飾された名前空間の名前を使用する必要があり

    名前空間 (C++)
    Itisango
    Itisango 2020/10/27
    「using ディレクティブをヘッダー ファイル (*.h) に配置することは避けてください」「デバッグが非常に困難な名前の隠蔽の問題や名前の競合の問題を引き起こすことがあるためです」 #dotNet
  • 名前空間 namespace の追加方法について

    質問 2008年9月17日水曜日 17:27 VS2008 standard で C++ のターミナルアプリケーションを作成しようと project を作成しました。 Math.Abs() を使いたいと思い using System; を宣言したところ error C2871: 'System' : この名前を指定された名前空間は存在しません。 と出たのでエラー番号から検索しましたが、具体的に VS2008 から何を追加してやれば良い のか調べきれませんでした。 ... #include <complex> ... using std; using System; ... int ConvergenceTest_A(complex<double> z){ double re,im,temp; int value = 0; re = z.real(); im = z.imag(); temp

    名前空間 namespace の追加方法について
    Itisango
    Itisango 2020/10/27
    「プロジェクトのプロパティにて「共通言語ランタイム サポート」という項目を「共通言語ランタイム サポート (/clr)」に設定して下さい」 #dotNet
  • C# string(文字列)からバイト型配列 byte[] (バイナリ) に変換するコードと実行結果 | iPentec

    バイナリファイルへの書き込みや通信などの用途で、文字列からバイト型配列 byte[]に変換したいことがあります。この記事では文字列からバイト型配列(byte[])への変換コードを紹介します。 概要 C#では文字列はunicodeとして定義されているため、文字列をbyte[]配列にコピーするためには、エンコードの指定(SJIS, JIS, EUC, UTF-8など)も必要になります。C#では System.Text.Encodingクラスが用意されており、このクラスを用いて文字列をエンコードを指定して、byte[]配列型に変換できます。 文字列(string)型からbyte[]配列型に変換する場合はGetBytes()メソッドを用います。 コード例 private void button1_Click(object sender, EventArgs e) { string text = "

    C# string(文字列)からバイト型配列 byte[] (バイナリ) に変換するコードと実行結果 | iPentec
    Itisango
    Itisango 2020/10/26
    How to convert string to byte[]. #dotNet
  • C++/CLI による .NET プログラミング

    Important C++/CLI は、.NET の初期 (2003 年から 2010 年) に設計されたテクノロジであり、互換性のために引き続きサポートされています。 これは、既存のコードベース、特に .NET Framework から .NET Core に移行されるコードベース、または .NET Framework を超えて進化する可能性が低い大規模なレガシ システムを維持する場合に最適です。 C++/CLI は信頼性と堅牢性を備えていますが、継続的な機能を確保するために必要な機能以外の新機能は計画されていません。 開発者は、C++/CLI を使用すると、C++ 言語と .NET 言語の両方がペシミライズされます。これは、設計時に使用できる言語機能と API (つまり、ISO C++11 および .NET Core より前) によって制約されるためです。 C++/CLI は C++9

    C++/CLI による .NET プログラミング
    Itisango
    Itisango 2020/10/16
    "To change the target framework for an existing project, close the project, edit the project file (.vcxproj), and change the value of the Target Framework Version to 4.6. Next time you open the project, the settings will take effect." #dotNet
  • ターゲット プラットフォームにプロジェクトを構成する - Visual Studio (Windows)

    Visual Studio を使用すると、Arm64 やその他のプラットフォームなど、さまざまなプラットフォーム (プロセッサ アーキテクチャ) をターゲットにするようにアプリケーション ビルドを設定できます。 そのターゲット プラットフォーム用にビルドするために、プラットフォームで Visual Studio を実行する必要はありません。 Visual Studio での Arm64 のサポートの詳細については、 ARM 搭載デバイス上の Visual Studio を参照してください。 .NET 開発の 64 ビット プラットフォーム サポートについては、 64 ビット アプリケーションを参照してください。

    ターゲット プラットフォームにプロジェクトを構成する - Visual Studio (Windows)
    Itisango
    Itisango 2020/10/16
    「C++ projects use Win32 and x64, but the solution platforms use x86 and x64. When you choose x86 as the solution configuration, Visual Studio selects the Win32 platform for C++ projects. To see both project-level platform and solution-level platform settings... 」 #VisualStudio
  • C++ Interop (暗黙の PInvoke) の使用

    他の .NET 言語とは異なり、Visual C++ には相互運用性サポートが備えられています。相互運用性サポートを使用すると、managed、unmanaged プラグマにより、マネージド コードとアンマネージド コードは同じアプリケーション内、また同じファイルでも共存できるようになります。 これにより、Visual C++ 開発者は、他のアプリケーションの動作を妨げることなく、既存の Visual C++ アプリケーションに .NET 機能を統合できます。 また、dllexport、dllimport を使用して、マネージド コンパイル単位からアンマネージド 関数を呼び出すこともできます。 関数パラメーターのマーシャリング方法を指定したり、DllImportAttribute を明示的に呼び出す際に指定できるその他の詳細設定を行ったりする必要がない場合は、暗黙の PInvoke を使用

    C++ Interop (暗黙の PInvoke) の使用
  • 方法: System::String の文字にアクセスする

    String オブジェクトの文字にアクセスして、wchar_t* 文字列を受け取るアンマネージド関数に対する高パフォーマンスの呼び出しを行うことができます。 このメソッドにより、String オブジェクトの最初の文字への内部ポインターが生成されます。 このポインターは直接操作することも、固定して通常の wchar_t を必要とする関数に渡すこともできます。 例 PtrToStringChars を指定すると、内部ポインターである Char (別名 byref) が返されます。 そのため、ガベージ コレクションの対象になります。 ネイティブ関数に渡す場合を除き、このポインターを固定する必要はありません。 次のコードについて考えてみましょう。 ppchar は内部ポインターであるため固定は必要なく、そのポインターが指す文字列がガベージ コレクターによって移動されると、ppchar も更新されま

    方法: System::String の文字にアクセスする
  • nullptr

    nullptr キーワードは、任意の生ポインター型に変換可能な型 std::nullptr_t の null ポインター定数を指定します。 ヘッダーを含めずにキーワード nullptr を使用できますが、コードで型 std::nullptr_t を使用する場合、ヘッダー <cstddef> を含めることにより定義を行う必要があります。 Note また nullptr キーワードは、マネージド コード アプリケーション用に C++/CLI でも定義されており、ISO 標準の C++ キーワードに対して互換性がありません。 マネージド コードをターゲットとする /clr コンパイラ オプションを使用してコードをコンパイルする可能性がある場合は、コンパイラでネイティブな C++ 解釈を使用することを保証する必要があるすべてのコード行で __nullptr を使用します。 詳細については、「nul

    nullptr
  • ++C++; //未確認飛行 C++

    using static System.Console; class Welcome { /// <summary> /// saying hello to all visitors and welcome. /// </summary> /// <param name="args">visitors</param> public static void Main(string[] args) { foreach(string visitor in args) { WriteLine($"Hello {visitor}."); } WriteLine("Welcome to my web page."); } } C# によるプログラミング入門 コンピュータの基礎知識 アルゴリズムとデータ構造 ブログ ようこそ ++C++; へ。 C#・情報工学を中心に勉強用ページとブログを載せています。

    ++C++; //未確認飛行 C++
  • Groovyが人気上昇 - TIOBE プログラミング言語人気ランキング

    TIOBE Softwareから、2013年10月のTIOBE Programming Community Index (PCI)が公開された。TIOBE PCIは、複数の検索エンジンの検索結果から、対象となるプログラミング言語がどれだけ話題になっているかをインデックス化したもの。2013年10月におけるインデックスは次のとおり。

    Itisango
    Itisango 2013/10/17
    #Groovy や #C に #今更 どんな #話題 があるというのだろう?
  • ジェネリックプログラミング - Wikipedia

    ジェネリック(総称あるいは汎用)プログラミング(英: generic programming)は、具体的なデータ型に直接依存しない、抽象的かつ汎用的なコード記述を可能にするコンピュータプログラミング手法である。 ジェネリックプログラミングはデータ型でコードをインスタンス化するのか、あるいはデータ型をパラメータとして渡すかということにかかわらず、同じソースコードを利用できる[1]。ジェネリックプログラミングは言語により異なる形で実装されている。ジェネリックプログラミングの機能は1970年代にCLUやAdaのような言語に搭載され、次にBETA、C++、D、Eiffel、Java、その後DECのTrellis/Owl言語などの数多くのオブジェクトベース (object-based) およびオブジェクト指向 (object-oriented) 言語に採用された。 1995年の書籍デザインパターン[

    ジェネリックプログラミング - Wikipedia
  • TBBが新しくなったポ

    目次 ホーム 連絡をする RSS Login Blog 利用状況 投稿数 - 1078 記事 - 2 コメント - 27255 トラックバック - 363 ニュース 著作とお薦めの品々は 著作とお薦めの品々は 東方熱帯林へ。 わんくま 東京勉強会#2 C++/CLI カクテル・レシピ 東京勉強会#3 template vs. generics 大阪勉強会#6 C++むかしばなし 東京勉強会#7 C++むかしばなし 東京勉強会#8 STL/CLRによるGeneric Programming TechEd 2007 @YOKOHAMA C++C++/CLI・C# 適材適所 東京勉強会#14 Making of BOF 東京勉強会#15 状態遷移 名古屋勉強会#2 WinUnit - お気楽お手軽UnitTest CodeZine Cで実現する「ぷちオブジェクト指向」 CUnitによるテスト駆

  • 1