Visual C++ 2005

 
Писал простой контейнер для проверки работы DLL-ки
(ну не работает трасировка DLL в VC++ из под MT)

наткнулся на такой баг при компилляции:

1    #include <stdio.h>
2   
3    int main()
4    {
5        printf("Hello World\n");
6        int i = 0;
7    }

test.c(6) : error C2143: syntax error : missing ';' before 'type'


Смешно конечно .. но так, ради прикола над большим братом..

 
В чистом си перед объявлениями не может быть никаких выражений. То есть, все объявления должны находиться в самом начале функции. Может быть в этом дело?
 
В чистом си перед объявлениями не может быть никаких выражений.



Конечно же это так, но к примеру как же быть с оператором такой классической конструкциии:

for( int i = 0; i < 100; i++ ) {
             ...                                                    }



С этого и был переделан мой пример, но там до этого также были объявления переменных уже в самом
теле ф-ции, но компиллятор пишет ошибку на эту строку.. видать на этом его терпение уже иссякло )))


 
Эта конструкция является классической для си++, но никак не для чистого си.

Чтобы Ваш компилятор не ругался на такие вещи, просто переименуйте Ваш исходный файл, присвойте ему расширение .cpp
 
Слава,

Подскажите, возможно ли отладить свою DLL-ку трасировкой
в Developer Studio (Visual C++) при вызове ее из Metatrader'a ?
Есть такая возможность в принципе, или это мои руки кривые ?

Просмотрел форум, не нашел ничего такого конкретного,
упоминание на DebugBreak и якобы при помощи int 3h

На DebugBreak выдает окошко с краш иноформацией:

Call stack :
7C901230:0000 [7C901230] DbgUiConnectToDbg [C:\WINDOWS\system32\ntdll.dll]
 
Слава,

Т.е. отладка трассировкой в среде фактически запрещена .. Хотя уже все сделал, отмучал
свой модуль, через MessageboxA выдавать контрольные точки - после 10-ого такого
модального поп-апа, MT4 молча помирал, и даже без дампа. Но сейчас все работает просто
замечательно, скорость - ФАНТАСТИКА ! ;-) ( а до этого считал в матлабе)


На будущее: может возможно выводить дать API для вывода отладочных сообщений
из DLL-ки в журнал экспертов метатрейдера ?
 
PS: Кстати - о глюках в MT4.

Если к примеру в индикаторе описывает импорт ф-ции из DLL-ки и потом меняешь ей количесто параметров (у меня около 15 массивов, плюс пара строковых и скалярных), то МТ даст ошибку при обращении к этой ф-ции с новым кол-вом параметров. Необходимо поменять названии ф-ции и соответственно перекомпеллить DLL.