Nowe posty

Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Pokaż wątki - AndyB

Strony: [1]
1
C/C++ / [make]Profesjonalne dystrybucje pakietów C
« dnia: 2015-12-09, 23:09:35 »
Pod Linuxem używam do programowania w C/C++ środowiska Code::Blocks. Jak widziałem, nie ma na tym polu konkurencji. Aha , jest jeszcze Qt Creator, którego można użyć nie tylko z Qt, ale jakoś mnie nie przekonał - za mało przycisków i problemy z konfiguracją. Moje projekty skoncentrowane są wokół pliku projektu IDE.
Tymczasem dystrybucje w C zwykle wyglądają inaczej. Zwykle źródła ą w podkatalogu src a występują takie pliki jak configure.ac, Makefile.am , wiele plików *.in, *.m4 - cały katalog. Na przykład dystrybucja prototypów do XCB do pliki XML, z których Python generuje .c i .h.
Moje pytanie: jak używać takich dystrybucji, nie chodzi tylko o kompilację i zainstalowanie,. bo to jest wytłumaczone - ostatnio kompilowałem Code::Blocks, bardzo dużo źródeł i długi czas kompilacji.
Ale jak z tych plików wygenerować projekt Code:Blocks a może również dało by radę pod Windows projekt Visual Studio?
Drugim problemem jest - jak samemu tworzyć takie dystrybucje zamiast projektów CodeBlocks? Gdzie można o tym poczytać, jak poznać podstawy Pythona, głównie nie składni ale środowiska i instalacji?
Aha: i czy do tego nadaje się też język C++, choć dystrybucje są raczej w języku C a nie C++.

2
C/C++ / Jakiego timera użyć?
« dnia: 2015-12-09, 22:50:22 »
W Linuxie jest timer oparty o sygnały
timer_t tid;

void set_timer()
{
    sigevent sig;
    sig.sigev_notify = SIGEV_THREAD;
    sig.sigev_notify_function = handler;
    sig.sigev_notify_attributes = NULL;
    sig.sigev_value.sival_ptr = &tid;
    timer_create(CLOCK_REALTIME, &sig, &tid);

    itimerspec t = { { 1, 0 }, { 1, 0 } };
    timer_settime(tid, 0, &t, 0);
}
ale nie wiem, czy jest dobry, czy się nadaje do zamknięcia go w komponencie i np używania wielu takich timerów do wielu przycisków na formie, które mogły by mieć właściwość autorepetycji. Czy też ten timer jest raczej za bardzo systemowy. Przeszkadza też w debugowaniu, niedawno nie wiedziałem dlaczego debugger zawieszał się przy wchodzeniu do jakiejś funkcji , a miałem odpalonego timera, który wysyłał sygnał.
Z drugiej strony biblioteka glib, o którą oparte jest wxWidgets o ile się orientuję używa sztucznego timera - mamy chodzącą pętlę komunikatów i w jakiś sposób co odpowiedni czas wrzucany jest komunikat timera. To też za bardzo by mi nie odpowiadało.

Strony: [1]