Witam Was serdecznie..
Wiele razy mi pomagaliscie moge tym razem ktos bedzie wiedzial o co chodzi....
napisalem programik i mimo ze jest dobrze napisany (Pod linuxem kompiluje sie piknie i piknie dziala) to pod windowsem dostaje Segmentation Fault (GDB wskazuje na RpcRaiseException Dziwne bo ja nie linkuje rpc.h ani nie includuje...
a oto programik (oczywiscie jest tam duzo rzeczy a to wycinek):
....
...
int main(void) {
try {
//....
{
int t = GetCurrentRound();
while (GetCurrentRound() == t) {
//........
};
}
//...
} catch (ErrorClass &Blad) {
//...
}
return 0;
}
Specjalnie robie int t w bloczku by pozniej nie zasmiecala pamieci i mam blad...
a jak usune te { } czyli nie zrobie bloku wewnetrznego to nie ma bledu...
Program kompiluje pod CygWinem (bo windows nie ma odpowiednika funkcji poll() )
co jeszcze.. aha w innym miejscu programu bylo podobnie tylko ze
byl taki kod:
char *wsk = new [Gracze.Ilosc()];
if (!wsk)
throw ErrorClass("Blad przydzialu pamieci");
//... (2 linijki bodajrze cout<< lub atoi() cos takiego nie pamietam
delete [] wsk;
i GDB pokazywalo "Normal Program Exit" a konsolka pokazywala "Aborting (Core dumped)" a jak zamienilem na sztywna tablice
char wsk[256];
to juz nie ma bledu..
Bardzo prosze o pomoc bo [???] i juz mi szajba odbija bo nie moge rozwijac programu a zalezy mi na tym by programik chodzil tu i tu..
Chyba ze macie odpowiedniki pod windowsem funkcji:
poll() <- Cos jak select tylko ze latwiejsze wg mnie
(sprawdza czy do danego deskryptora mozna pisac lub czy przyszly dane)
( przy komunikacji program mi sienie zawiesz na recvfrom() )
fcntl() <- chodzi o to by danemu Socket Deskryptorze dodac flage NON_BLOCK (przy komunikacji UDP ta opcja jest mi potrzebna (funkcja poll() inaczej zle dziala)