マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

  • Windowsで使用できていたP/Invokeは、
    .NET Core、Linuxでも利用可能である模様。
  • それでは、アンマネージドコードをP/Invokeして、
    どのように.NET Coreをクロスプラットフォーム対応させるのか?

詳細

準備

  • P/Invokeライブラリを作成する。
  • こんな感じか。
  • POSIX
    と言う名前空間があっても良いかも。

実装

  • ラッパー・ライブラリから、P/Invokeライブラリを呼び出す。
  • ラッパー・ライブラリはマネージドコード上でインターフェイスを定義。

分岐させる方法

Environment.OSVersionを使用して分岐させる。

分岐させる位置

  • ラッパー・ライブラリ内部で、
    Environment.OSVersionを使用して分岐させる。
  • ラッパー・ライブラリをWindows、Linuxの2系統を作成して、
    呼び出し元でEnvironment.OSVersionを使用して分岐させる。

※ 暗号化ライブラリでは、内部で
 CAPI(CSP)、CNG、OpenSSLなどのプロバイダが切り替えられるので、基本、
 前者のように、ラッパー・ライブラリ内部で分岐させるのが良いと考える。

参考


Tags: :Windows, :プログラミング, :.NET開発


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-07-02 (木) 16:25:48 (43d)