SI言語に関する質問 - ページ 10

 
Andrei Novichkov:
普通に書けば、構造体へのポインタが返されます。

それはわかるのですが、フィールドを持たない構造体は何が返ってくるのでしょうか?

 
何もしませんよ。何かの例え話、テストかもしれない、そう思えるのです。その断片はどこから来たのか、聞いてもいいでしょうか?
 
Andrei Novichkov:
何もしませんよ。何かの例え話、テストかもしれない、そう思えるのです。このスニペットはどこの国のものでしょうか?

tensorflow c++ apihttps://www.tensorflow.org/install/lang_c

MQL5にtensorflow.dllライブラリを接続しようとしたところ

#property strict

#define  PCHAR  long

#import "tensorflow.dll"
const PCHAR TF_Version();
#import

#import "msvcrt.dll"
int strcpy(uchar &dst[],PCHAR src);
#import
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   uchar byte[];
   ArrayResize(byte,300);
   PCHAR ptr;
//--- указатель на строку
   ptr=TF_Version();
   if(ptr>0) strcpy(byte,ptr);
   Print("TF_Version="+CharArrayToString(byte));
//---
   return(INIT_SUCCEEDED);
  }

TF_Version=1.5.0と表示されました。

この変な構図から抜け出せない(((;゚Д゚)))


ライブラリとヘッダーファイルの両方が添付ファイルにあります。

Install TensorFlow for C  |  TensorFlow
Install TensorFlow for C  |  TensorFlow
  • www.tensorflow.org
TensorFlow provides a C API that can be used to build bindings for other languages. The API is defined in and designed for simplicity and uniformity rather than convenience. Supported Platforms TensorFlow for C is supported on the following systems: Setup Download TensorFlow C libraryURL Extract Extract the downloaded archive, which contains...
 
Igor Makanu:

tensorflow c++ apihttps://www.tensorflow.org/install/lang_c

MQL5にtensorflow.dllライブラリを接続しようとしたところ

TF_Version=1.5.0と表示されました。

この変な構図から抜け出せない(((;゚Д゚)))


ライブラリ本体とヘッダーファイルは添付ファイルにあります。

配列の初期化は試されましたか?

 
Алексей Тарабанов:

配列の初期化は試されましたか?

私の例は、ライブラリがMQL5で動作するかどうかを確認するものですが、動作します。

vrooperを書くのではなく、mqlでヘッダーファイルをビルドしたい。


なんとなく疑問が湧いてきました。

typedef struct TF_Status TF_Status;

コツがわかってきたような気がします。

struct TF_Status {
  tensorflow::Status status;
};
 
予想通り、プログラミングが当てずっぽうになってしまった。果たして結果はどうなることやら...。
 
Igor Makanu:

私の例は、ライブラリがMQL5で動作するかどうかを確認するもので、動作します。

vrooperを書くのではなく、mqlでヘッダーファイルをビルドしたい。


なんだか、この質問の真意が見えてきたような気がします。

ヘッダーファイルはMQL5で既に持っていると思うのですが。

自分で言い当てたんだろうけど(笑)。ただ、構造自体の定義はどこか別の場所、おそらく別のファイルにあります。おそらく他の図書館で)

一度にすべてを書く必要はありません。

typedef struct TF_Status {
int if;
long lf;
.....
} TF_Status, *PTF_Status;

typedefは切り離され、別の場所で扱われるかもしれません。

アレクセイ・タラバーノフ
予想通り、プログラミングが当てずっぽうになってしまった。果たして結果はどうなることやら...。
そして、当てずっぽうはダメ。彼らはずっとそうやって歌ってきたんです。
 

TensorFlowやPytorchの既存のラッパーを改良してはどうでしょうか?

なぜ、誰もが自分の車輪を再発明することに惹かれるのでしょうか?

Pythonを使わないTensorFlowは切り捨て。また、MQLとC/C++の互換性がないため、中間ラッパーを使わないとMQLに接続することができません。

 
Roffild:

TensorFlowやPytorchの既存のラッパーを改良してはどうでしょうか?

なぜ、誰もが自分の車輪を再発明することに惹かれるのでしょうか?

Pythonを使わないTensorFlowは切り捨て。そして、MQLとC/C++の非互換性から、中間ラッパーなしでMQLと正しく接続することは不可能です。

自転車も見ましたが、とりあえずTensorFlow開発者からの実装に興味があります。

ZS: 今年はC#でTensorFlow APIが出るかもしれないhttps://www.tensorflow.org/lite/guide/roadmap

TensorFlow Lite 2019 Roadmap  |  TensorFlow Lite  |  TensorFlow
  • www.tensorflow.org
Updated: March 6th, 2019 The following represents a high level overview of our 2019 plan. You should be conscious that this roadmap may change at anytime relative to a range of factors and the order below does not reflect any type of priority. As a matter of principle, we typically prioritize issues that the majority of our users are asking for...
 
Igor Makanu:

が、基本的にTF_NewStatus()何を返す のか理解できていないのですが

サイズ4バイトまたは8バイトのデータへのポインタです。

pragma pack 1のようなものを使えば、サイズは同じ(おそらく1バイト)になります。