Ostatnie posty

Potwierdzam
https://drive.google.com/drive/folders/0B7LTbx-1p1SAZFlWYUZZR2tTTms?usp=sharing

Trochę testów, wiadomo co z nimi zrobić, czekam na odzew.
Gdyby domyślnie była wyłączona, niedoświadczonego programistę mogłoby zdziwić zachowanie niektórych programów ze strumieniami i scanf/printf-ami.
Znikło nawet dla zwykłych :(
Dzięki. Moim zdaniem domyślnie powinna być wyłączana przez kompilator, chyba że programista zażyczy sobie inaczej. Może w nowym standardzie…?
Przy dużym wejściu, tak
Czy synchronizację z stdio trzeba jeszcze wyłączać przy używaniu cin i cout? Czy niewyłączona spowalnia programy w zauważalny sposób?
Czyli jak rozumiem, przy takiej pętli jak napisałeś powyżej, mogę sobie rozesłać do wszystkich instancji niezerowych na końcu jakiś komunikat, który zakończy działanie tych instancji (odpali w pętli break;) i mało tego - odbierze w instancji zerowej jakieś potwierdzenie (ACK), że się wykonało?:)

Dzięki za klarowną odpowiedź!
Gdzie mogę porównać outy dla testów użytych do oceny zadania KAN?

Edit: Poradziłem sobie - wziąłem rozwiązania zeszłoroczne i wygenerowałem outy.
VS można podłączyć do każdego procesu. Ctrl+alt+p, wybierasz proces i robisz attach.

Problem może być taki, że podłączysz się tylko do jednej instancji. Więc debugowanie w taki sposób na wielu instancjach będzie niemożliwe.

Edit. Faktycznie jest problem z symbolami, jeśli buduje się pythonem.
Na stos
rzuciliśmy
nasz życia los,
Na stos, na stos!
Dla zadan rozproszonych też by się przydało. Może nawet bardziej...
Nie. Instancja to nie wątek/zadanie.
Tak, można wielokrotnie odpytywać.
Tak, możesz w instancji 0 odpalić taki kod.

Myk jest taki, że to Ty masz napisać taki kod, aby pozostałe instancje potrafiły to obsłużyć i po wszystkim się zamknęły.
Instancję można traktować jak program odpalony na zupełnie niezależnym komputerze. Jeśli program się zakończy, nikt go nie wskrzesi, nawet jeśli jakieś komunikaty dla niego przeznaczone do tego komputera przyjdą.
Kod przeznaczony dla niezerowej instancji musi więc robić coś w rodzaju:
while (..cośtam..){
Receive(0);
auto a = GetLL(1);
[..rob coś sensownego...]
PutLL(0,a);
Send(0);
}

Nie zapomnij wyłączyć wszystkich instancji ;-)
Hej, chyba czegoś nie zrozumiałem:)
Jeśli jakaś instancja się wykona, to nie zostaje odpalona potem jeszcze raz? Nie można wielokrotnie odpytywać instancji o jakiś wynik?

Innymi słowy:
czy mogę sobie radośnie wysyłać z instancji 0 po kolei:
PutLL(1, 1);
Send(1);
Receive(1);
PutLL(1,2);
Send(1);
Receive(1);
?