Вопросы по языку СИ - страница 10

 
Andrei Novichkov:
Если нормально написать, то указатель на структуру вернет.

это я понимаю, но что даст возврат структуры у которой нет полей?

 
Да ничего не даст. Это просто какой то пример, может тест, так мне представляется. Откуда фрагмент, можно узнать?
 
Andrei Novichkov:
Да ничего не даст. Это просто какой то пример, может тест, так мне представляется. Откуда фрагмент, можно узнать?

tensorflow c++ api  https://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++ api  https://www.tensorflow.org/install/lang_c

 попробовал подключить к MQL5 библиотеку tensorflow.dll

она работает, в логе получил: TF_Version=1.5.0

вот застрял с этой непонятной конструкцией (((((


сама библиотека и и файл заголовков в аттаче

Массивы инициализировать не пробовали? 

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

Массивы инициализировать не пробовали? 

речь о другом, мой пример это проверка будет ли работать библиотека в MQL5 - да работает

не хочу врапер писать, пока хочу на MQL файл заголовка собрать 


по моему вопросу, вроде немного начал вникать в суть 

typedef struct TF_Status TF_Status;

если поискать по гитхабу, то можно найти:

struct TF_Status {
  tensorflow::Status status;
};
 
Вполне ожидаемо, программирование превратилось в гадание. Интересно - что получится... 
 
Igor Makanu:

речь о другом, мой пример это проверка будет ли работать библиотека в MQL5 - да работает

не хочу врапер писать, пока хочу на MQL файл заголовка собрать 


по моему вопросу, вроде немного начал вникать в суть 

если поискать по гитхабу, то можно найти:

Да вроде Вы и сами догадались ) Просто определение самой структуры где то в другом месте, возможно в другом файле. Возможно и в другой библиотеке )

Не обязательно писать все сразу:

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

typedef вполне можно отделить и заняться ей в другом месте.

Алексей Тарабанов:
Вполне ожидаемо, программирование превратилось в гадание. Интересно - что получится... 
И никакого гадания. Так всю жизнь пшут.
 

Почему бы не доработать существующие обертки для TensorFlow и Pytorch?

Почему всех тянет изобретать свой велосипед?

TensorFlow без Python урезан. И нормально подключить его к MQL без промежуточной обертки не получится из-за несовместимости MQL и C/C++

 
Roffild:

Почему бы не доработать существующие обертки для TensorFlow и Pytorch?

Почему всех тянет изобретать свой велосипед?

TensorFlow без Python урезан. И нормально подключить его к MQL без промежуточной обертки не получится из-за несовместимости MQL и C/C++

Ваш велосипед видел, но пока интересна реализация от разработчиков TensorFlow

ЗЫ: возможно в этом году будет API TensorFlow на С# 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 байт наверное)