並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 23 件 / 23件

新着順 人気順

C++CLIの検索結果1 - 23 件 / 23件

  • An Update on C++/CLI and .NET Core - C++ Team Blog

    The first public release of our C++/CLI support for .NET Core 3.1 is now available for public preview! It is included in Visual Studio 2019 update 16.4 Preview 2. We would love it if you could try it out and send us any feedback you have. For more info about what this is and the roadmap going forward, check out my last post on the future of C++/CLI and .NET Core. To get started make sure you have

      An Update on C++/CLI and .NET Core - C++ Team Blog
    • Porting a C++/CLI Project to .NET Core - C++ Team Blog

      One of the new features of Visual Studio 2019 (beginning with version 16.4) and .NET Core 3.1 is the ability to build C++/CLI projects targeting .NET Core. This can be done either directly with cl.exe and link.exe (using the new /clr:netcore option) or via MSBuild (using <CLRSupport>NetCore</CLRSupport>). In this post, I’ll walk through the steps necessary to migrate a simple C++/CLI interop proje

        Porting a C++/CLI Project to .NET Core - C++ Team Blog
      • C++/CLIからWPFアプリケーションを呼び出すスマートな方法|ガルボ

        こんにちは。 今回は、あまり使う場面がない(?)かもしれない、マニアックなプログラミングの話をしていきたいと思います。 今回の話をするにあたり、以下のような簡単なアプリケーションを作成してみました。 このアプリケーションは単純に画像を読み込み、二値化するだけの機能を有しています。 画面で設定される閾値をもとに画像を二値化して加工画像として画面に表示するということをしています。 さて、皆さんはこのようなアプリケーションを開発するにあたり、UIをC#で、また高速化のため画像処理部分をC++/CLIでプログラミングをすることにしたとします。 一般的に用いられる手法としては、C++/CLIのクラスライブラリを用意して、その中に画像処理を行うための関数を作成し、そのDLLの関数をC#から呼び出すといった方法ではないでしょうか。 すなわち、C#を上位アプリケーションと見立てて、必要最小限の機能だけC+

          C++/CLIからWPFアプリケーションを呼び出すスマートな方法|ガルボ
        • C++/CLIとC# null

          [C#] using System; class Program { static void f(object obj) { if (obj != null) { Console.WriteLine("{0} {1}", obj.GetType().ToString(), obj.ToString()); } else { Console.WriteLine("null"); } } static void Main(string[] args) { f(null); f(1); f("文字列"); } } [出力] null System.Int32 1 System.String 文字列 [C++/CLI] using namespace System; void f(Object^ obj) { if (obj) { // obj != nullptr Console::WriteL

          • pin_ptr (C++/CLI)

            "固定ポインター" を宣言します。これは共通言語ランタイムでのみ使用されます。 すべてのランタイム (この言語機能にはランタイムに適用される特記事項がありません。) Windows ランタイム (Windows ランタイムでは、この言語機能はサポートされていません。) 共通言語ランタイム "固定ポインター" は、指されているオブジェクトがガベージ コレクション ヒープに移動されないようにする内部ポインターです。 つまり、固定ポインターの値は、共通言語ランタイムによって変更されることはありません。 これは、マネージド クラスのアドレスをアンマネージド関数に渡すときに、アンマネージド関数呼び出しの解決時にアドレスが予想外に変更されないようにする場合に必要です。 構文 [cli::]pin_ptr<cv_qualifiertype>var = &initializer; パラメーター cv_qu

              pin_ptr (C++/CLI)
            • 忘れっぽい僕のためのC++/CLIチートシート - Qiita

              目的 たまーにC++/CLI (Common Language Infrastructure) を使うことがあるが、たまにしか使わない。 なので、使おうとするたびに忘れて、思い出すのに手間取る記法やらを、他でもない自分のためにまとめておく。 C++/CLIが初めてという方は、以下のサイトで丁寧にわかりやすく解説されているので、そちらを参照されたい。 C++/CLI入門 - WisdomSoft プロジェクトの設定 スクリーンショットはVS2017のもの。 ネイティブコードと混ぜるときは「共通言語ランタイム サポート(/clr)」を選ぶ。 Hello, World! #using <mscorlib.dll> int main(int argc, char **argv) { System::Console::WriteLine("Hello, world!"); return 0; } p

                忘れっぽい僕のためのC++/CLIチートシート - Qiita
              • .NET6で、C++/CLIやCOMが混在しているソリューションをpublishする方法 - 新しもの好きプログラマの耳より情報ブログ

                概要 .NET 6で作ったソリューション全体を発行したくなったら、dotnet publishコマンドを使うだけ。シンプルで良い。 しかし、これが通じるのはC#プロジェクトだけで完結している場合。C++/CLIやCOMを参照するプロジェクトは、dotnet publishではエラーが出て発行できない。 msbuildを使ったpublishが成功したので、その方法を紹介する。 経緯 C#とC++/CLIのプロジェクトが混在し、一部でCOMモジュールを参照している、そういうソリューションを.NET Frameworkから.NET 6へ移植した。 これをスクリプトでビルドしようとして、調べてすぐに出てくるdotnet publishを実行したところ、C++プロジェクトとCOMを使っているプロジェクトでエラーが起きた。 次のようなエラーがあり、1つ解決しても次が出るので個別に解決していくのは難しい

                  .NET6で、C++/CLIやCOMが混在しているソリューションをpublishする方法 - 新しもの好きプログラマの耳より情報ブログ
                • 方法: 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 でプロパティを使用する
                  • 【C++/CLI】 nullチェック

                    今回は、あまり教える程理解できていないので、メモ的な意味で... C言語ではメモリを確保したか?を確認するのにポインタがNULLかどうか確認しますが、C++では『^』で表されるハンドル型というC言語のポインタにも似た型が登場し、このハンドル型で示されるオブジェクトが確保されたのか?(gcnewされたのか?)を確認するのにはnullptrを用います。 (コード例) System::Drawing::Graphics^ g; if (g == nullptr) MessageBox::Show("gは未定義です"); //MessageBoxが表示される g = CreateGraphics(); if (g == nullptr) MessageBox::Show("gは未定義です"); //MessageBoxが表示されない しかし、System::Drawing::Colorクラスでは

                      【C++/CLI】 nullチェック
                    • C++/CLIで排他制御したキューを使う。 - プログラムを書こう!

                      この記事は2018年08月09日に投稿しました。 目次 はじめに 排他制御したキュー おわりに 世界でいちばん簡単なVisualC++のe本 標準C++とC++/CLIの基本と考え方がわかる本 作者: 金城俊哉出版社/メーカー: 秀和システム発売日: 2009/10/26メディア: 単行本購入: 2人 クリック: 26回この商品を含むブログ (2件) を見る 1. はじめに こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。 今回は業務で使用しているC++/CLIの話です。 シリアル通信を行うアプリで、シリアル通信処理部分と上位(GUI)処理で受信コマンドの受け渡しに排他制御したキューを使用しました。 その時使用した排他制御したキューの実装例です。 目次へ 2. 排他制御したキュー 排他制御したキューは、 キューQueueオブジェクト イベントManualResetEv

                        C++/CLIで排他制御したキューを使う。 - プログラムを書こう!
                      • 方法: C++/CLI で配列を使用する

                        このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 この記事では、C++/CLI で配列を使う方法について説明します。 1 次元配列 次のサンプルで示すのは、参照型、値型、ネイティブ ポインター型の 1 次元配列を作成する方法です。 また、関数から 1 次元配列を返す方法と、1 次元配列を引数として関数に渡す方法も示します。 // mcppv2_sdarrays.cpp // compile with: /clr using namespace System; #define ARRAY_SIZE 2 value struct MyStruct { int m_i; }; ref class MyClass { public: int m_i; }; stru

                          方法: C++/CLI で配列を使用する
                        • C++/CLI, C++/CX, WRL, C++/WinRT違いメモ - Qiita

                          メモの目的 URLや共有したい情報を記載。 作成中。 C++ 言語・フレームワーク等比較 言語・フレームワーク・プロジェクション(?) 将来性 特徴 メリット デメリット

                            C++/CLI, C++/CX, WRL, C++/WinRT違いメモ - Qiita
                          • OpenCVをC++/CLIでラップ - 何でもプログラミング

                            今回はOpenCVをF#から扱えるようにしてみたいと思います。 OpenCVはC++のライブラリであるため、C++/CLIを用いてF#から扱えるようにします。 OpenCV取得 下記サイトから、バイナリとソースがセットになったファイルをダウンロードします。 解凍(exe実行)して適当なフォルダに配置してください。 今回は既にビルドされているopencv_world320.dllを利用していきます。 (opencv/build/x64/vc14/binフォルダにあります。) OpenCV | OpenCV C++/CLIプロジェクトの準備 VisualC++ / CLR / Class Libraryを選択します。 opencv_world320.dllが64bitでビルドされているので、64bitビルドに変更します。 プロジェクトの設定で、OpenCVのincludeとlibの場所を設定し

                            • [C++/CLI]サブスレッドからフォームを操作する | なうびるどいんぐ

                              最近、ようやくWindowsプログラミングを始めました。 今回はJavaの時の様にいきなり無茶をしない様に気を付けています。 (始めてのJavaでいきなりMySQLを操作しようとしました、なんとか出来ました) ウインドウ(フォーム)は中でループがぐ~るぐるなので止めちゃ行けないから、重たい処理やループでぐ~るぐるする物(イベントの監視とか)はサブスレッドにするらしいです。 ただ、他のスレッドのフォームを操作すると怒られちゃうので、BeginInvokeとデリゲートなるモノを用いて操作するのですが、それがググっても少しパッとしなかったのでメモも兼ねて記事にします。 ウインドウは止められない!! ご存知の方が大半だと思うのですが、念のために説明しておくと、 Windowsでのウインドウ(フォーム)はイベント駆動と呼ばれる手法で行っています。 簡単に説明すると、フォームが呼び出されると、内部でぐ

                                [C++/CLI]サブスレッドからフォームを操作する | なうびるどいんぐ
                              • C++/CLI の例外

                                このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

                                  C++/CLI の例外
                                • C# 側から使用する C++/CLI 側の関数の引数の型について - Qiita

                                  本記事について C++/CLI で作成したクラスライブラリを C# から使用する際に、C++/CLI 側のクラス定義と C# 側の呼び出し処理で引数の型が不一致となり使用できないことがありましたので、忘備録として本記事を作成しました。 本記事の作成環境 Windows 11 Home Visual Studio Community 2022 C# 側から使用する C++/CLI 側の関数の引数の型 C# 側から呼び出す関数に対する C++/CLI 側での関数の引数の型について、参照クラス、値クラスごとにまとめます。 参照クラス C++/CLI でクラスを ref class、または ref struct として定義した場合、そのクラスは参照クラスとなります。 参照クラスのインスタンスを関数の引数として渡す場合は、原則として参照渡しとなります。 C# でクラス class として定義されてい

                                    C# 側から使用する C++/CLI 側の関数の引数の型について - Qiita
                                  • C++/CLIで書かれたdllをIIS上のASP.NETプログラムから参照するには?

                                    質問 2020年10月22日木曜日 16:52 C;;/CLIで書かれたdllをC#のASP.NETプログラムから呼び出そうとしています。 GitHubにソースを置きました。ご覧になっていただければ幸いです。 MItsutoshiNAKANO の CanYouUseThis.git IIS Express上ではdllに定義されたMessage "Can you call me?"が表示されます。 しかし、Windows 10のIISへこのプログラムを公開して、ブラウザから呼び出すと、 ブラウザ上で、下記に記したエラーメッセージが表示され、実行できません。 エラーメッセージから察するに、 バイナリーの形式が間違っていると予想しています。 しかし、ソリューションや各プロジェクトのプロパティを見ても どこを直せば良いのか解らないでいます。 どこをどう修正すればこのプログラムは正しく動作するでしょ

                                      C++/CLIで書かれたdllをIIS上のASP.NETプログラムから参照するには?
                                    • C++CLI入門/中間言語とネイティブコードの混在 - WisdomSoft

                                      C++/CLIによるコンパイルは、純粋な .NET Framework マネージコードだけではなく、マシン語で書かれたアンマネージコードとの混在が可能です。当然、アンマネージコードを混在させるか、純粋なマネージコードのみを許可するかを選択することもできます。 .NET Framework 対応アプリケーションを開発するということは、共通中間言語を含む実行ファイルを生成するということです。従来の C++ コンパイラは、コンパイラが対象とするプラットフォームのマシン語で構成される実行可能ファイルを生成しましたが、Visual C++ のプロジェクトでは .NET Framework 専用のアプリケーションを開発することができます。これは、すなわち共通中間言語を含む実行ファイルが出力されるということです。 C++ 言語は、.NET Framework 専用に設計された C# や Visual B

                                      • CLR をターゲットにした C++/CLI プログラムをコンパイルする

                                        C++/CLI を使用すると、.NET クラスとネイティブの C++ 型を使用する C++ プログラムを作成できます。 C++/CLI は、ネイティブ C++ コードをラップして .NET プログラムからアクセスできるようにするコンソール アプリケーションと DLL で使用することを目的としています。 .NET に基づく Windows ユーザー インターフェイスを作成するには、C# または Visual Basic を使用します。 この手順では、独自の C++ プログラムを入力するか、いずれかのサンプル プログラムを使用できます。 この手順で使用するサンプル プログラムでは、textfile.txt という名前のテキスト ファイルを作成し、プロジェクト ディレクトリに保存します。 前提条件 C++ 言語の基本の理解。 Visual Studio 2017 以降では、C++/CLI のサポ

                                          CLR をターゲットにした C++/CLI プログラムをコンパイルする
                                        • Visual C++/CLI でのBluetooth機器名とCOM番号取得 - Qiita

                                          背景 いつもWindowsソフト(?)を作るときは Visual C++/CLI で開発をしている私です。 GUI部分は主にマネージ(CLI)で、メインロジックはネイティブC++で書くスタイルです。 C/C++が好きでホントは全部ネイティブで書きたいのですが、もうWindowsのGUI部分ってMFCじゃなくて.NetFrameworkがメインじゃないですか。 CLIのGUIでできることもMFCでは出来ないことが多くなってきましたし。 なのでうまく使い分けするスタイルに落ち着きました。 さて最近Bluetoothを使うプログラムを書く必要が出てきまして、COM番号を取得しなければいけなくなりました。 「あ~、Win32 APIをゴリゴリ叩かなきゃいけないのかなぁ~。時間もあんまりかけられないしシンドイなぁ・・・」 と思ってGoogle先生に聞いていたところ、こんな素敵なページを見つけました。

                                            Visual C++/CLI でのBluetooth機器名とCOM番号取得 - Qiita
                                          • .NET Core 3 で C++/CLI - Qiita

                                            はじめに ついに .NET Core 3.0 がリリースされました。 .NET Framework はフェードアウトで今後は .NET Core に移行、集約する方針なのはご存じかと思います。 さて、 Windows アプリ開発者 (の一部) に強い関心があると思われる C++/CLI の行方ですが、一応 .NET Core のランタイムと VS2019 を含む開発環境もサポートを継続するとのアナウンスが出ています。 The Future of C++/CLI and .NET Core 3 C++/CLI は個人的にはあまり推奨できないですが、これからどうなっていくのはとても気にはなりますので状況を追っていこうと思います。 この記事は VS2019 16.4 が正式版になるまで随時更新するつもりでいます。 12/4 に .NET Core 3.1 と VS2019 16.4 正式版がリリ

                                              .NET Core 3 で C++/CLI - Qiita
                                            • C++/CLIと.NET Core 3の未来

                                              .NET Core 3.0 is now available and we have received a lot of questions about what that means for the future of C++/CLI. First, we would like to let everyone know that we are committed to supporting C++/CLI for .NET Core to enable easy interop between C++ codebases and .NET technologies such as WPF and Windows Forms. 情報源: The Future of C++/CLI and .NET Core 3 | C++ Team Blog C++/CLIは.NET Core 3.1/V

                                                C++/CLIと.NET Core 3の未来 
                                              • C++/CLI による .NET プログラミング

                                                既定で、Visual Studio 2015 で作成された CLR プロジェクトは .NET Framework 4.5.2 を対象とします。 新しいプロジェクトを作成する際には、.NET Framework 4.6 をターゲットにできます。 [新しいプロジェクト] ダイアログの上部中央にあるドロップダウン リストでターゲット フレームワークを変更します。 既存のプロジェクトのターゲット フレームワークを変更するには、プロジェクトを閉じて、プロジェクト ファイル (.vcxproj) を編集し、ターゲット フレームワークのバージョンの値を 4.6 に変更します。 変更は、プロジェクトを次回開くときに有効になります。 Visual Studio 2017 では、既定のターゲット .NET Framework は 4.6.1 です。 Framework バージョン セレクターは、[新しいプロジ

                                                  C++/CLI による .NET プログラミング
                                                1