ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3621  
Старый 25.08.2009, 14:05
Аватар для Smapt
Smapt
Познающий
Регистрация: 29.01.2008
Сообщений: 82
Провел на форуме:
373690

Репутация: 88
По умолчанию

Билдера нету под рукой... но попробуй так:
PHP код:
 void BlaBlaBlavoid *a

int i
Get("/forum/profile.php?mode=viewprofile&u="+IntToStr(1000+i),"tfile.ru");
i++; 


void Get(String urlchar *host

BlaBlaBla 

 
Ответить с цитированием

  #3622  
Старый 25.08.2009, 14:06
Аватар для razb
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

Цитата:
1. Вместо троеточия что?
Как уже не раз говорилось лучше почитать пару книжек а не набирать говнокод и молится что бы он работал
 
Ответить с цитированием

  #3623  
Старый 25.08.2009, 14:10
Аватар для mailbrush
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Цитата:
Сообщение от razb  
Как уже не раз говорилось лучше почитать пару книжек а не набирать говнокод и молится что бы он работал
Типа обиделся, что + не поставил? Не надо отсылать меня к книжкам. Обрати внимание на название темы "[c/c++] Новичкам: задаем вопросы". Была бы твоя воля, ты бы переименовал "[c/c++] Новичкам: НЕ задаем вопросы - читаем книги!".
 
Ответить с цитированием

  #3624  
Старый 25.08.2009, 14:27
Аватар для razb
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

На правах оффтопа ))
Цитата:
Типа обиделся, что + не поставил?
Мне вообще плевать на репу, это далеко не показатель чьих то знаний

Просто смотрю на все эти вопросы и плакать хочется, на все твои вопросы есть ответы на первых 10 страницах гугла + 100 первых стр. любого учебника по с\с++
Я рад помочь если где то что то не ясно или не понятно и ответа нигде нет, а тут смотришь большинство постов в стиле "хочу написать что то крутое, да вот не знаю чем int от char отличается" )
 
Ответить с цитированием

  #3625  
Старый 25.08.2009, 14:32
Аватар для mailbrush
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Поверь, я бы не задавал вопросы, не нагуглив их.
 
Ответить с цитированием

  #3626  
Старый 25.08.2009, 14:45
Аватар для razb
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

Цитата:
Get("/forum/profile.php?mode=viewprofile&u="+IntToStr(1000+i). c_str(),"tfile.ru"); // тут орет invalid pointer addition.
Ты пытаешься сложить два указателя на строки, а не их самих это не пхп, для конкатенации есть специальная ф-ция strcat() и если бы ты удосужился почитать хоть немножко любой учебник эти вопросы бы сразу отпали.
 
Ответить с цитированием

  #3627  
Старый 26.08.2009, 10:40
Аватар для mailbrush
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Еще вопрос, есть код:
Код:
int id = 0;

void Thread( void *a)
{
Get(IntToStr(1000+id).c_str());
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i;
for(i=0;i<=1;i++)
_beginthread(Thread, 0, NULL);
}
//---------------------------------------------------------------------------
Вобщем я пишу парсер. Мне надо, чтобы каждый поток отдельно парсил аккаунты. id++ не поканает тут. Как реализовать это?
 
Ответить с цитированием

  #3628  
Старый 26.08.2009, 12:01
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

void Thread( void *a)
{
int mid;

mid = id++;
Get(IntToStr(1000+mid).c_str());
}
Или как вариант можеш юзать синхронизацию при изменениии. или интерлоки юзать
mid = InterlockedIncrement(&id) - 1;
т.е. id увеличится 100% на 1 и вернется его текущее значение. от которого ты отнимиш 1 чтобы получить предыдущее. Антерлок онснован на атомарном доступе. т.е. блокировка шины памяти идет и в этоге никто другой не сможет изменить значение.
В этоге такая конструкция (без учета того что это вызов апишки)представляет собой такой код:
Код:
mov ecx,[esp+4] ; ecx = адресу переменной X
mov eax,1 
lock xadd [ecx],eax; блокирем шину памяти, прибавляем значение регистра eax к тому участку памяти где хранится X а предыдущее значение закидываем в eax. 
inc eax ; увеличиваем eax на 1 - хз зачем MS это делает. сам не понимаю. Типа вернет не старое значение а новое. тупость
т.е. даже если после lock xadd [ecx],eax выполнение получит другой поток, то всё будет нормально потому что значение хранится в регисте, а при смене потока автоматом сохраняются значения всех регистров. И потом уже данные будут браться не их паременной X а из регистра eax.
темболее что lock xadd [ecx],eax не может прерваться на половине выполнения. И даже если у тебя многопроцессорная система, то всё равно потоки другова процессора не смогут в этотже момент времяни изменить значение переменной.
Вот такаявот хитро-простая синхронизация может быть сделана
 
Ответить с цитированием

  #3629  
Старый 26.08.2009, 12:05
Аватар для bons
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме:
1777055

Репутация: 347
По умолчанию

Цитата:
Вобщем я пишу парсер. Мне надо, чтобы каждый поток отдельно парсил аккаунты. id++ не поканает тут. Как реализовать это?
я так понял тебе нужно передавать в каждый поток переменную id, каждый раз инкрементируя ее. Для этого нужно почитать тут: http://msdn.microsoft.com/en-us/library/kdzttdcb%28VS.71%29.aspx

Дальше есть неколько замечаний:
- название функции должно отображать то, что она делает а не особенности ее реализации. Thread - так функцию никто не называет. То же касается и Get. Я например не уверен что вообще понял твой вопрос именно из-за дурацких названий функций. переменная 'a' вообще супер...

- писать сетевые приложения на потоках не стоит, это приводит к потреблению кучи ресурсов. Юзай асинхронные сокеты, тем более в windows полно их разновидностей

- хотел еще сказать что писать на борланд билдере не стоит вообще.. но тут вроде это уже говорили.

Последний раз редактировалось bons; 26.08.2009 в 12:07..
 
Ответить с цитированием

  #3630  
Старый 26.08.2009, 12:25
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

Цитата:
- писать сетевые приложения на потоках не стоит, это приводит к потреблению кучи ресурсов.
Сетевые какраз и должны работать на потоках потому как работа с сетью - это самое медленное что может быть.
Или если тебя устраивает скорость улитки, то вперед!
Если не юзать потоки то тогда придется тебе работать с неблокируемыми сокетами. Это конечно удобно, но довольно проблематично для новечков.

CPU C2D + Win2k3 и 500 тредов работы с сетью особото и не наггружают сервак зато дают скорость в 250 раз быстрее чем в один поток. потому как даже если у тебя мего скоростной канал, то ты идут большие задержки при ответе сервера. А если данные придут когда поток не выполняется, то они будут находиться в системном буфере и потом благополочку считаются из него. В современных условиях потеря памяти в 100 мб при хз каком кол-ве потоков - это неиграет роли вообще.

Последний раз редактировалось slesh; 26.08.2009 в 12:28..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP, PERL, MySQL, JavaScript 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ