Aktualności:

Nasz kanał IRC - Porozmawiaj z nami.

Menu główne

minimalny program

Zaczęty przez mariotti, 10 Lipiec 2013, 22:57

mariotti


Czy kod źródłowy programu hello world pod poniższym linkiem
jest aktualny? Można na nim się wzorować? Czy powinienem
poszukać innego przykładu?

http://www.spy-hill.net/myers/help/boinc/hello.C


krzyszp

CytatGo to the boinc/samples/example_app

Tam są przykładowe (proste) app.

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

mariotti

Cytat: krzyszp w 11 Lipiec 2013, 00:03
CytatGo to the boinc/samples/example_app
Tam są przykładowe (proste) app.
Wszedłem do katalogu i mam takie pliki:

perft@x:~/boinc/samples/example_app$ ls -l
total 68
drwxr-xr-x 2 perft www-data  4096 Jul 10 01:58 Mac
-rw-r--r-- 1 perft www-data  4075 Jul 10 01:58 MakeMacExample.sh
-rw-r--r-- 1 perft www-data  2538 Jul 10 01:58 Makefile
-rw-r--r-- 1 perft www-data   308 Jul 10 01:58 Makefile_android
-rw-r--r-- 1 perft www-data  2439 Jul 10 01:58 Makefile_mac
-rw-r--r-- 1 perft www-data  5258 Jul 10 01:58 Makefile_mac2
drwxr-xr-x 4 perft www-data  4096 Jul 10 01:58 bin
-rwxr-xr-x 1 perft www-data  1255 Jul 10 01:58 build_android.sh
-rw-r--r-- 1 perft www-data  7554 Jul 10 01:58 slide_show.cpp
-rw-r--r-- 1 perft www-data 10043 Jul 10 01:58 uc2.cpp
-rw-r--r-- 1 perft www-data  1068 Jul 10 01:58 uc2.h
-rw-r--r-- 1 perft www-data  8123 Jul 10 01:58 uc2_graphics.cpp


Przyjrzyjmy się temu bliżej :)

mariotti

Cytat: mariotti w 12 Lipiec 2013, 17:44
Przyjrzyjmy się temu bliżej :)


Plik Makefile przeczytałem, wygląda zrozumiale. Chociaż cel tej zależności:

libstdc++.a:
ln -s `g++ -print-file-name=libstdc++.a`

będzie dla mnie zagadką.
No ale dobra, ogólnie można zrozumieć co robi plik Makefile, więc się
nie czepiam :)

buninek

http://www.trilithium.com/johan/2005/06/static-libstdc/
http://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html

Nie jestem specem od licencji, ale radziłbym sprawdzić kiedy i na jakich zasadach możesz rozpowszechniać binarki linkowane statycznie z libstdc++. Zdaje się, że licencja uległa dość drastycznej zmianie od wersji gcc >= 4.2.1. Stąd między innymi tak dynamiczny rozwój Clanga, choć ich projekt zastąpienia libstdc++ raczkuje i nadal korzystają z gnu libstdc++.

mariotti

Cytat: buninek w 12 Lipiec 2013, 19:38
http://www.trilithium.com/johan/2005/06/static-libstdc/
http://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html
Nie jestem specem od licencji, ale radziłbym sprawdzić kiedy i na jakich zasadach możesz rozpowszechniać binarki linkowane statycznie z libstdc++. Zdaje się, że licencja uległa dość drastycznej zmianie od wersji gcc >= 4.2.1. Stąd między innymi tak dynamiczny rozwój Clanga, choć ich projekt zastąpienia libstdc++ raczkuje i nadal korzystają z gnu libstdc++.
Dzięki za zwrócenie uwagi.

Z tego co pobieżnie się zorientowałem, libstdc++ jest na GPL, a libc++ na BSD. Czasami
można w necie wygrzebać informację, że libc++ jest na MIT - to prawie na jedno wychodzi.
Dla programu hello world nie będzie to miało znaczenia, bo nikt nie będzie się domagał
jego źródeł, potem będzie trzeba uważać czy się nie łamie prawa.

Pozdrawiam

buninek

No, właśnie starsza wersja libstdc++ była bodajże na LGPL. W przypadku GPL możliwe jest chyba tylko dynamiczne linkowanie z zamkniętym kodem twojego programu.

http://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynamic

mariotti

Cytat: buninek w 12 Lipiec 2013, 22:45
No, właśnie starsza wersja libstdc++ była bodajże na LGPL.
Nie wiem, będę musiał poczytać.

Cytat: buninek w 12 Lipiec 2013, 22:45
W przypadku GPL możliwe jest chyba tylko dynamiczne linkowanie z zamkniętym kodem twojego programu.
Mam taki sam pogląd na ten temat, ale istnieją poglądy, że nawet dynamicznie nie można, bo są inkludowane
pliki nagłówkowe.

Pozdrawiam

mariotti

Skompilowałem aplikację testową. Potem podpisałem ją, umieściłem w katalogu wersji, zainstalowałem, itd.
Najwyraźniej ten etap się udał:
http://perft.computers-chess.com/apps.php

Klient najwyraźniej też się łączy ze stroną.

Teraz nie wiem gdzie zamieścić klucz publiczny i jak dodać testowe zadania.