| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > найти замену strcasestr |
| Автор: Nab 5.11.2006, 04:36 | ||||||||
| Компилю прогу под стареньким дистром на ядре 2.0.39, единственное место где получился затык это
Порывшись в манах своей системы нашел что это регистронезависимый вариант strstr сейчас у меня она компилиться и работает вот с такой строчкой
но из мана
то есть проблема именно в этой функции, подскажите плиз как ее заменить чтоб функциональность не страдала, и компилилось вот этим
Какую еще инфу нужно указать? Просто C не мой родной язык |
| Автор: MAKCim 5.11.2006, 11:17 | ||
|
| Автор: GrayCardinal 5.11.2006, 12:53 |
| Nab, А тупо заменить на while (или for) с проверкой strcasecmp с каждого байта ? Работать будет.......... Добавлено @ 12:54 ГЫ т.е. while (*ptr) { if (! strcasecmp (ptr, "stroka"))) break; // совпало. ++ptr; } |
| Автор: MAKCim 5.11.2006, 12:58 |
| GrayCardinal стандартные то функции на asm-е в libc написаны все таки они будут более оптимизированы чем код компилятора (даже gcc) хотя в этом случае ей (оптимизацией) в виду незначительности можно и пренебречь |
| Автор: GrayCardinal 5.11.2006, 13:02 |
| MAKCim, Ага, аж два раза быстрее, ага, разбежался Я на асме под 64-битку переписывал bzero и сравнивал с тупым while. Разница в скорости - около процента. Я чуть не повешался... Около дня убил шоб на асм переключится, а все зря. ЗЫ в тему - gcc до 2.95 в принципе не может нормально компилировать проги. The fact. |
| Автор: MAKCim 5.11.2006, 15:20 | ||||||
Про два раза я не говорил
|
| Автор: Nab 6.11.2006, 10:49 |
| GrayCardinal, сенкс. Именно то что нужно было. Искал тупое решение Еще раз всем откликнувшимся спасибо... |