Версия x64
- Author
- Message
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
Instructor, у меня всегда свежая (из CVS). (Сколько же там Warning-ов... приблизительно столько же при компиляции для Wine)
Вот Templates Speech - к версии 4.5.2 (к обоим 32 и 64 битным) по идее должны работать. Нужно что-бы кто-то владелец 64-бит потыкал, ибо отладить пока не могу.
SpellCheck - только 32 битная для 4.5.2, 64 битных реализаций любой орфографической системы пока не нашел.
Вот Templates Speech - к версии 4.5.2 (к обоим 32 и 64 битным) по идее должны работать. Нужно что-бы кто-то владелец 64-бит потыкал, ибо отладить пока не могу.
SpellCheck - только 32 битная для 4.5.2, 64 битных реализаций любой орфографической системы пока не нашел.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
FeyFre
Warning'и потихоньку убираю.
Speech пишет нет какой-то dll.
Templates не вставляет файл:
Надо:
Warning'и потихоньку убираю.
Speech пишет нет какой-то dll.
Templates не вставляет файл:
Code: Select all
FILECONTENT fc = {hFile,(DWORD)-1,dc.nCodePage,dc.bBOM,NULL};
Code: Select all
FILECONTENT fc = {hFile,(UINT_PTR)-1,dc.nCodePage,dc.bBOM,NULL};
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
MSVCR90.DLL ?Speech пишет нет какой-то dll.
Открутить бы им руки за такую систему. Компилятор умничает надо и не надо, а студия помогает. Нужно поставить в настройках статическую линковку с CRT(я потом гляну где оно нашло CRT вообще)
В Templates специально делал for-ы при формровании строк, что-бы не использовать memcpy, а компилятор-идиот цикл "оптимизирует" в вызов memcpy(и только x64, на 32 нормально) и матерится что не может линковаться, ибо я CRT отключил(взять что-ли на ассемблере написать?).
Поправим.Templates не вставляет файл:
Не знаете часом какого-нибудь GUI-шного инструмента для работы с CVS? А то TortosieCVS как на зло ничего не умеет, коммандная строка и то лучше. Как посмотреть историю файла я так и не нашел, тем более получить визуальный diff.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
FeyFre
В StrFunc.h лежат xmemcpy и xmemset.Компилятор умничает...
http://akelpad.cvs.sourceforge.net ?Не знаете часом какого-нибудь GUI-шного инструмента для работы с CVS?
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
Не дружит с кириллицей(changelog не почитать вообще). Да и в обозревать не особо хочется лазить по много раз в минуту. SourceForge на защищенных страницах(https) ползает хуже некуда.
А как им пользоваться? А то я включаю, а оно ничего не дало. Приходиться его то ли по два раза включать, с define-ами посередине, то ли ещё как-то по-другому шаманить.В StrFunc.h лежат xmemcpy и xmemset.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
FeyFre
Я тоже TortoiseCVS пользуюсь. Правда ничего кроме Add/Update/Commit не использовал
Можно просто код функций выдернуть.
Я тоже TortoiseCVS пользуюсь. Правда ничего кроме Add/Update/Commit не использовал
Code: Select all
А как им пользоваться?
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
В StrFunc.h лежат xmemcpy и xmemset.
Хахаха. Компилятор имел нас в виду. Единственный вызов xmemcpy он развернул inline а потом отпимизировал на всякий случай в вызов memcpy(в ассемблер смотрел... кстати забыл отключить генерацию в проекте в исходниках) В общем с горем по полам получилось, но насчет оптимальности не ручаюсь.Можно просто код функций выдернуть.
Новые архивы с бинарниками/исходниками на тех же местах.
ЗЫ: у Вас
Code: Select all
void* xmemcpy(void *dest, const void *src, UINT_PTR count);
Code: Select all
void* xmemcpy(void *dest, const void *src, size_t count);
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
Исправил(умножил на sizeof(WCHAR) ), перезалил.Templates стал отображать пустые папки в TreeView.
У меня компилятор на это смотрит. Изменил аргумент на UINT_PTR - та же история(см. Templates.c строчку 421)xmemcpy и xmemset на CVS имеют другой вид, именно для того, чтобы компилятор не подменял вызовом memcpy, memset.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
FeyFre
Текущая версия xmemcpy выглядит так:
VS2005 такой код уже не заменяет на memcpy.
Текущая версия xmemcpy выглядит так:
Code: Select all
void* xmemcpy(void *dest, const void *src, UINT_PTR count)
{
unsigned char *byte_dest=(unsigned char *)dest;
unsigned char *byte_src=(unsigned char *)src;
//Special form of memcpy implementation to avoid
//compiler from replace this code with memcpy call.
if (byte_dest != byte_src)
{
if (count)
{
for (;;)
{
*byte_dest=*byte_src;
if (!--count) break;
++byte_dest;
++byte_src;
}
}
}
return dest;
}
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
FeyFre
Интересно как был Speech откомпилирован на x64. У меня
и microsoft говорит, что нужно использовать
http://msdn.microsoft.com/en-us/library ... S.85).aspx
А Templates при компиляции для x64 все еще
. Ошибка исчезает после замены xmemcpy на код, который указан выше.
Интересно как был Speech откомпилирован на x64. У меня
и microsoft говорит, что нужно использовать
Code: Select all
CLSIDFromProgID(pProgID, &clsid);
А Templates при компиляции для x64 все еще
. Ошибка исчезает после замены xmemcpy на код, который указан выше.
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
Instructor
Если склероз мне не изменяет, то мне тоже материлось так же. Решилось добавлением в список библиотек для компоновки sapi.lib(имя можно уточнить в файле vcproj с исходниками). И вопреки написанному в тексте по указанной ссылке 64-битная версия sapi.lib внезапно была обнаружена в 64-битном Windows SDK Так что плясок с бубном CLSIDFromProgID вовсе и не потребовалось.
А в моей компиляции на 64-битном работает? Просто интересно знать на сколько сильно в Редмонде опупели.
Если склероз мне не изменяет, то мне тоже материлось так же. Решилось добавлением в список библиотек для компоновки sapi.lib(имя можно уточнить в файле vcproj с исходниками). И вопреки написанному в тексте по указанной ссылке 64-битная версия sapi.lib внезапно была обнаружена в 64-битном Windows SDK Так что плясок с бубном CLSIDFromProgID вовсе и не потребовалось.
А в моей компиляции на 64-битном работает? Просто интересно знать на сколько сильно в Редмонде опупели.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
FeyFre
Запускается, показывает "Microsoft Sam", но на машине не установлены аудио драйвера, поэтому не известно.
- При проигрывании в файл, что на 32, что на 64 битной версии "Stop" не убирается и звук не идет (если должен идти), хотя файл сохраняется.
- На 800x600 крестик закрытия панели чуть-чуть не вмещается.
Запускается, показывает "Microsoft Sam", но на машине не установлены аудио драйвера, поэтому не известно.
- При проигрывании в файл, что на 32, что на 64 битной версии "Stop" не убирается и звук не идет (если должен идти), хотя файл сохраняется.
- На 800x600 крестик закрытия панели чуть-чуть не вмещается.
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
Хм, я как то не догадался протестировать на "глухой-немой" машине Попробуем.Запускается, показывает "Microsoft Sam", но на машине не установлены аудио драйвера, поэтому не известно.
Если будет желание потестировать ещё, то вот тут http://www.ntonyx.com/vac.htm есть виртуальный аудио терминатор.
Без звуковой карточки?- При проигрывании в файл, что на 32, что на 64 битной версии "Stop" не убирается и звук не идет (если должен идти), хотя файл сохраняется.
Сдвигаю.- На 800x600 крестик закрытия панели чуть-чуть не вмещается.
PS: Что-то на CVS версии 32-битная постройка(моя) при запуске выпадает(CRT-шной ошибкой).