ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

09.07.2009, 16:37
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
нужно заюзать регулярки. скачал пак с оф-сайта (pcre.org), подключил либы, всё хорошо. только вот за прогой нужно таскать dll весом ~150 кб. есть несколько проблем
попробуй регэкспы из буста поюзать. там есть статическая линковка. а на счет размреа - хз. там много кода нужно чтоб это работало. нужно идти на жертвы.
Советую тоже использовать буст, как подсказал коллега выше )
При статической линковке размер будет ~ +1m
|
|
|

09.07.2009, 17:59
|
|
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме: 4778940
Репутация:
1257
|
|
Советую тоже использовать буст, как подсказал коллега выше )
При статической линковке размер будет ~ +1m
заюзал буст. линковка вроде-бы статическая, правда я с ним натрахался, и пришлось юзать микромягкий компилятор(варнинг на варнигне, но компилится, и работает). простая прога с 1-й регуляркой и только 1 либой(boost/regex.hpp) висит 167 КБ. upx пакует ~до 80 кб. многовато, но подойдёт. щас попробую уменьшить размер.
UPD линковка динамическая. меньше уже не будет, а если и будет, то это нужно слишком глубоко лезть..
Последний раз редактировалось mr.The; 09.07.2009 в 18:05..
|
|
|

10.07.2009, 12:57
|
|
Познающий
Регистрация: 27.09.2008
Сообщений: 57
Провел на форуме: 265628
Репутация:
23
|
|
Как будет выглядеть функция циклического сдвига влево для битов?, т.е.
char a = 222; //a = 11011110
rotate(a); //a = 10111101
|
|
|

10.07.2009, 14:05
|
|
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме: 4778940
Репутация:
1257
|
|
Lee_fx,
_ttp://www.cyberforum.ru/visual-cpp/thread1850.html
__tp://www.cyberguru.ru/programming/cpp/cpp-programming-guide-page27.html
не оно?
|
|
|

10.07.2009, 14:37
|
|
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
Провел на форуме: 2816163
Репутация:
158
|
|
2Lee_fx
Код:
unsigned char rotate(unsigned char c)
{
return (c<<1)|(c>>7);
}
сдвиг на один бит влево
кажись понял, немнго не то надо..(
upd: теперь вродьб правильно
если использовать int то надо сдвигать на 31 вправо
return (c<<1)|(c>>31);
Последний раз редактировалось fker; 10.07.2009 в 15:52..
|
|
|

10.07.2009, 15:15
|
|
Познающий
Регистрация: 27.09.2008
Сообщений: 57
Провел на форуме: 265628
Репутация:
23
|
|
Оказывается решение в одну строчку =)
а я тут велосипедю блин
Код:
void Rotate(char& val) {
char mask = 1 << 7;
bool end = (val & mask) ? true : false;
val <<= 1;
mask = 1;
if(end) val |= mask;
}
Кстати какая разница между char, signed/unsigned char? В sizeof вроде все три 1 байт.
|
|
|

10.07.2009, 15:55
|
|
Познающий
Регистрация: 26.02.2009
Сообщений: 65
Провел на форуме: 583734
Репутация:
34
|
|
Сообщение от Lee_fx
Кстати какая разница между char, signed/unsigned char? В sizeof вроде все три 1 байт.
Значения char от -128 до 127, а значения unsigned char от 0 до 255
Просто различная индексация символов, не более того.
|
|
|

10.07.2009, 15:57
|
|
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
Провел на форуме: 2816163
Репутация:
158
|
|
В signed char старший бит отвечает за знак
unsigned - без знаковое
Код:
Тип данных Байты Биты Min Max
signed char 1 8 - 128 127
unsigned char 1 8 0 255
|
|
|

10.07.2009, 16:39
|
|
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме: 4778940
Репутация:
1257
|
|
выложите кто-то либы буста для mingw
libboost_regex-mgw*.lib - вот эти. а то у меня bjam что-то не работает.
да и ещё. есть софтина, хочу компилить её разными компиляторами(mingw gcc и vc++). но для vc нужно добавить пару строк кода. решил так:
#define FUCKING_VCPP // do you use fuckin vc++?
#ifdef FUCKING_VCPP
#define WIN32_LEAN_AND_MEAN
#define __MINGW_NOTHROW
#pragma comment(lib, "Ws2_32.lib")
#include <iostream>
#endif
но впадлу каждый раз каментить#define FUCKING_VCPP. можно компялятор как-то определять? может есть какие-то константы?
|
|
|

10.07.2009, 22:19
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
сделай батник
bjam --j2 --build-dir=I:\programming\boost_1_39_0\build_dir toolset=gcc --build-type=complete stage
pause
компиль сразу все либы и юзай нужные =)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|