Strona 1 z 1

[SOLVED][C++] Napisałem program - co dalej?

: 01 sie 2010, 16:20
autor: Itoto
Założyłem ten temat, ponieważ nie mogę doszukać się elementarnych informacji, co dalej zrobić z napisanym programem. Jak przygotować go do instalacji/kompilacji przez innych użytkowników?
Program składa się z pliku programu oraz jednego tekstowego, w którym zapisywane są ustawienia. Programy po instalacji znajdują się w katalogu usr/bin, a konfiguracyjne w odpowiednich katalogach w folderze domowym. Jak zrobić, aby pliki konfiguracyjne mojego programu również znajdowały się w odpowiednim folderze w katalogu domowym?

Odp: [C++] Napisałem program - co dalej?

: 01 sie 2010, 16:30
autor: kabanek
możesz zrobić np pakiet deb
albo udostępnić np tutaj wraz ze źródłami (jeśli chcesz): http://sourceforge.net/

Odp: [C++] Napisałem program - co dalej?

: 01 sie 2010, 16:43
autor: Itoto
Tak, wiem, ale nic nie zrobią z jednym plikiem.
Jak przygotować go do instalacji/kompilacji przez innych użytkowników?
O to mi chodzi.

Odp: [C++] Napisałem program - co dalej?

: 01 sie 2010, 18:15
autor: kabanek
no to ponownie odeślę Cię np http://sourceforge.net/ - tutaj możesz spokojnie wrzucić swój program oraz masz możliwość stworzenia swojej strony www w obrębie konta i tam możesz zamieszczać co tylko chcesz :D czyli np co ten program robi, jak go używać/kompilować itp

jeśli chodzi o kompilację to możesz stworzyć prosty Makefile (http://pl.wikibooks.org/wiki/C/Wi%C4%99 ... mpilowaniu)

Odp: [C++] Napisałem program - co dalej?

: 02 sie 2010, 10:22
autor: clansman5
Jezeli napisales ten program w jednym pliku to solidnie przemysl czy rzeczywiscie chcesz go gdziekolwiek udostepniac. Calkowity brak podzialu na jakiekolwiek odrebne jednostki kompilacyjne swiadczy tylko o jego prostocie, i byc moze bardzo niskiej jakosci.

A tak na marginesie, co to za program i co robi ? Wiesz, kalkulatorkow wszelakiej masci mamy juz chyba pod dostatkiem.

Odp: [C++] Napisałem program - co dalej?

: 02 sie 2010, 12:03
autor: Itoto
Dzięki, kabanek.
Jest to program do szybkiej zmiany gammy, wykorzystujący skróty klawiszowe. Nie spotkałem takiego programu na Linuksie, a jest mi bardzo potrzebny. Chętnie go udostępnię, jeśli spotka się z jakimś zainteresowaniem :).

A co z tymi plikami konfiguracyjnymi. Są jakieś specjalne komendy do utworzenia takich folderów dla aplikacji, czy muszę to zrobić przez program, podając ścieżkę np. $HOME/.gamma/?

Odp: [C++] Napisałem program - co dalej?

: 02 sie 2010, 13:42
autor: pixelenter
A poco jakieś specjalne komendy? mkdir $HOME/.gamma i gotowe

Odp: [C++] Napisałem program - co dalej?

: 02 sie 2010, 14:05
autor: mikolajs
Jeżeli to prosty projekt to możesz sam napisać Makeflie jak pisał kabanek, ale na przyszłość warto zainteresować się cmake. Tworzysz prosty skrypt konfiguracyjny i generuje Ci sam Makefile. Można tym samym skryptem kompilować na innych platformach.

Odp: [C++] Napisałem program - co dalej?

: 02 sie 2010, 14:08
autor: Itoto
Mam funkcję, która ma za zadanie odczytanie danych z pliku .gamma

Kod: Zaznacz cały

fstream plik;
plik.open("$HOME/.gamma",ios::in);
string dane;
getline(plik,dane);
return(dane);
I tu jest problem, ponieważ $HOME/.gamma nie działa. Nie mogę uzyskać dostępu do tego pliku. Działa dopiero jak podam pełną ścieżkę /home/itoto/.gamma, ale na każdym komputerze nazwa użytkownika jest inna.

Odp: [C++] Napisałem program - co dalej?

: 02 sie 2010, 14:30
autor: kabanek
to taki prosty program napisany "na kolanie" :-)

Kod: Zaznacz cały

#include <fstream>
#include <iostream>
#include <stdlib.h>

using namespace std;

string funkcja()
{
  fstream plik;
  string home = getenv ("HOME");
  home += "/.gamma";
  plik.open(home.c_str(),ios::in);
  string dane;
  getline(plik,dane);
  return(dane);
}

int main()
{
  cout<<"Funkcja zwróciła: "<<funkcja()<<endl;
  return 0;
}
potrzebne info znalazłem tutaj: http://www.linuxquestions.org/questions ... -c-433483/

Odp: [C++] Napisałem program - co dalej?

: 02 sie 2010, 14:38
autor: Itoto
Dziękuję :) Naprawdę mi pomogłeś.

Odp: [SOLVED][C++] Napisałem program - co dalej?

: 03 sie 2010, 21:28
autor: el.pescado
Program składa się z pliku programu oraz jednego tekstowego, w którym zapisywane są ustawienia. Programy po instalacji znajdują się w katalogu usr/bin, a konfiguracyjne w odpowiednich katalogach w folderze domowym.
To niekoniecznie najlepsze wyjście. Podczas instalacji trzebaby wrzucać każdemu użytkonikowi pliki do katalogu domowego, systuacja komplikuje się, gdy po zainstalowaniu programu doda się użytkownika.

Prostszym wyjściem jest napisanie programu tak, by mógł pobierać konfigurację z kilku plików. Wtedy można utworzyć plik z konfiguracją "systemową" i umieścić go, powiedzmy, w katalogu /etc, oraz dodatkowy plik "użytkownika", w katalogu domowym, w taki sposób, by ustawienia z $HOME miały większy priorytet niż te z /etc.

EDIT:
PS. Zgodnie z wytycznymi XDG, pliki konfiguracyjne powinny być w $HOME/.config/cośtam, czy też tam gdzie wskazuje $XDG_DATA_HOME, a nie bezpośrednio w $HOME.

Odp: [SOLVED][C++] Napisałem program - co dalej?

: 04 sie 2010, 00:53
autor: Itoto
El.pescado, rozwiązałem to tak, że program sprawdza czy pliki konfiguracyjne w $HOME się znajdują, jeśli nie istnieją to je tworzy. Więc jeśli inny użytkownik uruchomi ten program to dla niego utworzą się osobne pliki konfiguracyjne w $HOME.

Nie znałem tych wytycznych. Nakazałem programowi, aby zapisywał swoje pliki konfiguracyjne w $HOME/.gamma.