paskal 1 3 августа, 2011 Опубликовано 3 августа, 2011 · Жалоба Приобрели на работе компьютерный девайс - преобразователь интерфейса для канала Манчестер. Как всегда срочно нужно написать под него софт для работы с нашей аппаратурой. Но возникла трудность. Все исходники написаны на вижуал си. И библиотеки работающие с драйверами - тоже. Я с вижуал не знаком, тем более что на работе его нет и поставить админ не даст. Есть только C++ Builder. Короче надо как то переделывать эти библиотеки на билдер или дельфи. Разъясните насколько эта процедура реальна? Обращение на фирму ничего не дало, сказали программист в отпуске. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 3 августа, 2011 Опубликовано 3 августа, 2011 · Жалоба Приобрели на работе компьютерный девайс - преобразователь интерфейса для канала Манчестер. Как всегда срочно нужно написать под него софт для работы с нашей аппаратурой. Но возникла трудность. Все исходники написаны на вижуал си. И библиотеки работающие с драйверами - тоже. Я с вижуал не знаком, тем более что на работе его нет и поставить админ не даст. Есть только C++ Builder. Короче надо как то переделывать эти библиотеки на билдер или дельфи. Разъясните насколько эта процедура реальна? Переделывать чужой программный код с одного языка на другой - гиблое дело, хотя при сильной настойчивости выполнимое. Поэтому переписывать с C на Delphi не советую, тем более, когда нет ясности с тем, как работают все эти ваши библиотечные функции и драйверы. А вот переложить с Visual C на Builder много проще, т.к. язык здесь все-таки один тот же. Проблемы могут возникнуть, если у вас исходники не на C, а на С++. Вот тогда может оказаться, что код, опирающийся на стандартные для Visual C классы, не захочет интегрироваться в Builder из-за того, что классы у них разные. В общем случае что-то утверждать заглаза нельзя - код надо смотреть. А я даже не знаю, какая у вас версия Builder... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
paskal 1 4 августа, 2011 Опубликовано 4 августа, 2011 · Жалоба Проблемы могут возникнуть, если у вас исходники не на C, а на С++. Вот тогда может оказаться, что код, опирающийся на стандартные для Visual C классы, не захочет интегрироваться в Builder из-за того, что классы у них разные. В общем случае что-то утверждать заглаза нельзя - код надо смотреть. А я даже не знаю, какая у вас версия Builder... Классы там вроде не используются. Исходники оформлены как набор обычных сишных функций. При попытке компиляции выдает ошибку "недостижимый код" (unreachable code). При этом указывает на строку где вызов стандартного API DeviceIOControl. Компилирую 6-м билдером. Вообще интересно если программа отлажена под вижуал си, должна ли она компилироваться билдером, если не используется особых наворотов вроде ООП? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mik174 0 4 августа, 2011 Опубликовано 4 августа, 2011 · Жалоба Я с вижуал не знаком, тем более что на работе его нет и поставить админ не даст. Не даст поставить админ пиратскую программу? Есть бесплатная версия Visual C++, которую можно совершенно не опасаясь установить. Скачивается прямо с сайта Микрософт. Отличие от версии которая продается за деньги - в том что на одном компьютере можно установить только транслятор одного языка из комплекта Visual Studio и еще некоторыми ограничениями, которые практически не мешают применению пакета. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ashr 0 5 августа, 2011 Опубликовано 5 августа, 2011 · Жалоба Вообще интересно если программа отлажена под вижуал си, должна ли она компилироваться билдером, если не используется особых наворотов вроде ООП? Компилятор С++ от борланда сущий отстой (даже последней версии). Без рихтовки кода, думаю, не получится. Но с другой стороны, если код - ближе к С, чем к С++, то правки будут небольшие. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 5 августа, 2011 Опубликовано 5 августа, 2011 · Жалоба Вообще интересно если программа отлажена под вижуал си, должна ли она компилироваться билдером, если не используется особых наворотов вроде ООП? Дело в том, что Борлондячий компилятор кривой по жизни :(. Что-то сделали из 'С' компилятора типа "свое". На первый взгляд оно конечно похоже, но нюансов много, можно с легкостью наступить на "особое мнение" Борланда при портировании. Если не что-то типа всяких окошек с рюшечками ( а это с Борланда вообще не портируется без полного преписывания), то можно попробовать обычный бесплатный Watcom. Я в большинстве случаев только им и пользуюсь. Единственно, что это таки компилятор, а не IDE c рбшечками и визардвми (хотя формально какая-то IDE там в комплекте есть). Да и GCC абсолютно доступен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 5 августа, 2011 Опубликовано 5 августа, 2011 · Жалоба При попытке компиляции выдает ошибку "недостижимый код" (unreachable code). При этом указывает на строку где вызов стандартного API DeviceIOControl. Компилирую 6-м билдером. Чтобы вызывались API-шные функции, нужно всего-лишь подключить хидер <windows.h>. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 5 августа, 2011 Опубликовано 5 августа, 2011 · Жалоба Чтобы вызывались API-шные функции, нужно всего-лишь подключить хидер <windows.h>. Вообще-то Unreachable code в сколь-нибудь общепринятом смысле означает, что компилятор обнаружил кусок кода который никогда не будет исполняться, не потому, что его нет, а по причине прямо противоположной - он есть, но к нему никто ни при каких условиях не обращается (по крайней мере компилятор не знает, откуда его вызывают). Давно уже не пачкал руки борлондячей продукцией, но не думаю, что даже они используют сообщение Unreachable code в смысле, который приписываете ему Вы - Function has no prototype :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flexz 0 5 августа, 2011 Опубликовано 5 августа, 2011 · Жалоба А давно Unreacheable code ошибкой стал? или вы компилируете в режиме "Считать ворнинги ошибками"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 5 августа, 2011 Опубликовано 5 августа, 2011 · Жалоба И библиотеки работающие с драйверами - тоже. Библиотеки? Вообще, ИМХО, библиотека не должна привязываться сильно к какому-либо компилятору. Это же не GUI. А *.dll там нет? Ее неважно с чем использовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться