Простите, Как понимать Ваше сообщение? Вы имеете ввиду, что то расширение, которое я хочу написать уже имеется в числе реализованных библиотек? Если так, то смею Вас заверить, что вы заблуждаетесь. Данная библиотека задумывается исключительно для реализации одного единственного сайта и содержит в себе конкретные функции с конкретными алгоритмами. Функции данной тематики никому другому не интересны, а как следствие не реализованы. А если и реализованы, то их всё равно придётся дорабатывать под конкретную задачу. Если Вы можете помочь в решении проблемы, затронутой в данной теме - буду благодарен.
Брр, какой бред тут понаписали. Скажи своим чудо-мега-программистам, чтобы собрали DLL и приписали к ней маленькую консольную оболочку, с которой можно работать из командной строки: чтобы работала с потоков ввода-вывода. Со стороны РНР обращаться к этим библиотечным функциям через оболочку посредством функций exec, system или постоянной работы - proc_ open. Для этого не требуется свехзнаний, для этого требуется только наличие формальной логики.
Сказал. Получил ответ, что это почти то же самое по скорости, что и работа через файл, а это не желательно.
Этой DLL Ещё нет. Есть МГП (МеГаПрограмма), которая делает всё что нужно, а результат выводит на экран. Из функций в ней реализованных нужно составить DLL.
Я то тут при чем? o_0 xD Я раскусил вашу идею - хотите CGI-приложение, написаные на C++, перенести в PHP?
MoZart можете сказать чем занимается эта программа?Вдруг ее на пхп можно будет переписать без всяких dll
ЗЫ: а че, под виндой чтоли нельзя отловить консольный вывод проги? ммм? Странно. Раз она и так работает, то может просто открывать на нее поток или что там, в который она будет писать? Хз как это делается, но вполне должно же как-то это делаться, раз делается у других и в других случаях.
Всё готовое. Все обращения к БД, вычисления, формирование выводимой информации происходит внутри МГП.
В данный момент кучу постоянно обновляющихся изображений и графиков. Выводится исключительно на экран монитора. Никакие результирующие или промежуточные данные НИКУДА НЕ СОХРАНЯЮТСЯ. Полностью закрытая прога. Все вычисления внутри. Типа взяли 200 значений из БД, подумали минутку, вывели изображение, через 5 секунд обновили изображение(ибо все промежуточные данные объявлены в проге и висят в её памяти - поэтому и быстро). Типа того...
Уважаемые эксперты, Давайте вернёмся к теме. Вот что я попробовал сделать и что из этого получилось. 1. поставил MS Visual 2005; 2. Исходники РНР у меня были; 3. Скопировал и переименовал каталог skeleton на navext в папке ext; 4. Открыл в MS Visual 2005 файл skeleton.dsp. Это проект. 5. Переименовал файлы skeleton.c в navext.c и php_skeleton.h в php_navext.h, добавил их в проект; 6. Переименовываете во всех местах где нашёл extname и EXTNAME на navext соблюдая регистр; 7. Положил файл php5ts.dll в каталог проекта; 8. На вкладке Build зашёл в Configuration Manager. Выбрал значение Active Solution Configuration равное Debug_TS. Нажал Build; 9. Повторил эту же процедуру со значением Active Solution Configuration равное Reliese_TS; 10. В Error-list появились ошибки Error C2466: Cannot allocate an array of constant size 0 в юнитах stat.inl (строки 44, 49) и utime.inl (строки 39, 44, 49, 78); 11. На этом процесс застопорился. Файл php5ts_debug.lib не появился. Не появилась и нужная библиотека. В связи с этим у меня конкретные вопросы: 1. Что неправильно в моих действиях? 2. Что это за ошибки? Отчего они? Как их избежать? 3. Как исправить ситуацию? что делать дальше? Заранее благодарен за помощь! Прилагаю Лог-файлы. Лог 1. Build Log Rebuild started: Project: navext, Configuration: Debug_TS|Win32 Command Lines Creating temporary file "d:\Мои документы\дистрибутивы\Программирование\Сайты\PHP\php-5.2.12\ext\navext\Debug_TS\RSP00000923603624.rsp" with contents [ /O2 /Ob1 /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\TSRM" /D "ZEND_DEBUG=1" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "EXTNAME_EXPORTS" /D "COMPILE_DL_EXTNAME" /D "ZTS=1" /D "ZEND_WIN32" /D "PHP_WIN32" /D "HAVE_EXTNAME=1" /D "LIBZEND_EXPORTS" /D "_VC80_UPGRADE=0x0600" /D "_WINDLL" /D "_MBCS" /GF /FD /EHsc /MDd /Gy /Fp".\Debug_TS/skeleton.pch" /Fo".\Debug_TS/" /Fd".\Debug_TS/" /W3 /c /TC ".\navext.c" ] Creating command line "cl.exe @"d:\Мои документы\дистрибутивы\Программирование\Сайты\PHP\php-5.2.12\ext\navext\Debug_TS\RSP00000923603624.rsp" /nologo /errorReportrompt" Output Window Compiling... navext.c c:\Program Files\Microsoft Visual Studio 8\VC\include\sys/stat.inl(44) : error C2466: cannot allocate an array of constant size 0 c:\Program Files\Microsoft Visual Studio 8\VC\include\sys/stat.inl(49) : error C2466: cannot allocate an array of constant size 0 c:\Program Files\Microsoft Visual Studio 8\VC\include\sys/utime.inl(39) : error C2466: cannot allocate an array of constant size 0 c:\Program Files\Microsoft Visual Studio 8\VC\include\sys/utime.inl(44) : error C2466: cannot allocate an array of constant size 0 c:\Program Files\Microsoft Visual Studio 8\VC\include\sys/utime.inl(49) : error C2466: cannot allocate an array of constant size 0 c:\Program Files\Microsoft Visual Studio 8\VC\include\sys/utime.inl(78) : error C2466: cannot allocate an array of constant size 0 c:\Program Files\Microsoft Visual Studio 8\VC\include\wtime.inl(37) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\wtime.inl(43) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(32) : warning C4244: 'function' : conversion from 'time_t' to '__time32_t', possible loss of data c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(32) : warning C4244: 'function' : conversion from 'time_t' to '__time32_t', possible loss of data c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(38) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(44) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(51) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(57) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(64) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(69) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(81) : warning C4133: 'function' : incompatible types - from 'time_t *' to '__time32_t *' .\navext.c(37) : warning C4090: 'initializing' : different 'const' qualifiers Results Build log was saved at "file://d:\Мои документы\дистрибутивы\Программирование\Сайты\PHP\php-5.2.12\ext\navext\Debug_TS\BuildLog.htm" navext - 6 error(s), 12 warning(s) Лог 2. Build Log Build started: Project: navext, Configuration: Release_TS|Win32 Command Lines Creating temporary file "d:\Мои документы\дистрибутивы\Программирование\Сайты\PHP\php-5.2.12\ext\navext\Release_TS\RSP00000723604080.rsp" with contents [ /O2 /Ob1 /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\TSRM" /D "ZEND_DEBUG=0" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "EXTNAME_EXPORTS" /D "COMPILE_DL_EXTNAME" /D "ZTS=1" /D "ZEND_WIN32" /D "PHP_WIN32" /D "HAVE_EXTNAME=1" /D "LIBZEND_EXPORTS" /D "_VC80_UPGRADE=0x0600" /D "_WINDLL" /D "_MBCS" /GF /FD /EHsc /MD /Gy /Fp".\Release_TS/skeleton.pch" /Fo".\Release_TS/" /Fd".\Release_TS/" /FR".\Release_TS\" /W3 /c /TC ".\navext.c" ] Creating command line "cl.exe @"d:\Мои документы\дистрибутивы\Программирование\Сайты\PHP\php-5.2.12\ext\navext\Release_TS\RSP00000723604080.rsp" /nologo /errorReportrompt" Creating temporary file "d:\Мои документы\дистрибутивы\Программирование\Сайты\PHP\php-5.2.12\ext\navext\Release_TS\RSP00000823604080.rsp" with contents [ /o ".\Release_TS/skeleton.bsc" ".\release_ts\navext.sbr" ] Creating command line "bscmake.exe @"d:\Мои документы\дистрибутивы\Программирование\Сайты\PHP\php-5.2.12\ext\navext\Release_TS\RSP00000823604080.rsp" /nologo" Output Window Compiling... navext.c c:\Program Files\Microsoft Visual Studio 8\VC\include\sys/stat.inl(44) : error C2466: cannot allocate an array of constant size 0 c:\Program Files\Microsoft Visual Studio 8\VC\include\sys/stat.inl(49) : error C2466: cannot allocate an array of constant size 0 c:\Program Files\Microsoft Visual Studio 8\VC\include\sys/utime.inl(39) : error C2466: cannot allocate an array of constant size 0 c:\Program Files\Microsoft Visual Studio 8\VC\include\sys/utime.inl(44) : error C2466: cannot allocate an array of constant size 0 c:\Program Files\Microsoft Visual Studio 8\VC\include\sys/utime.inl(49) : error C2466: cannot allocate an array of constant size 0 c:\Program Files\Microsoft Visual Studio 8\VC\include\sys/utime.inl(78) : error C2466: cannot allocate an array of constant size 0 c:\Program Files\Microsoft Visual Studio 8\VC\include\wtime.inl(37) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\wtime.inl(43) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(32) : warning C4244: 'function' : conversion from 'time_t' to '__time32_t', possible loss of data c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(32) : warning C4244: 'function' : conversion from 'time_t' to '__time32_t', possible loss of data c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(38) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(44) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(51) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(57) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(64) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(69) : warning C4133: 'function' : incompatible types - from 'const time_t *' to 'const __time32_t *' c:\Program Files\Microsoft Visual Studio 8\VC\include\time.inl(81) : warning C4133: 'function' : incompatible types - from 'time_t *' to '__time32_t *' .\navext.c(37) : warning C4090: 'initializing' : different 'const' qualifiers Creating browse information file... Microsoft Browse Information Maintenance Utility Version 8.00.50727 Copyright (C) Microsoft Corporation. All rights reserved. Results Build log was saved at "file://d:\Мои документы\дистрибутивы\Программирование\Сайты\PHP\php-5.2.12\ext\navext\Release_TS\BuildLog.htm" navext - 6 error(s), 12 warning(s)