Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Témata - Dogmeat

Stran: [1]
1
Zdravím,

mám vytvořený deb balíček pro vlastní aplikaci a potřeboval bych ji přidat mezi proměnné prostředí všem uživatelům tak, aby nebylo potřeba terminál pokaždé nastavit na adresář s danou aplikací a zadávat "./app", ale aby stačilo zadat čistě jen název aplikace ke spuštění, čili například "app". Také bych pak tuto cestu chtěl odstranit při případné odinstalaci balíčku.

Jak to provedu? (předpokládám nastavení v postinst skriptu)

Díky

2
Zdravím,

mám problém s následujícím zdrojákem, který má za úkol navázet spojení za pomoci neblokovacího režimu (v IPv6). Problém nastává u select, kdy je vždy vrácena hodnota větší než 0, i když daná adresa v síti vůbec není nebo na ní nic nenaslouchá na připojení.
Díky za rady.

Kód: [Vybrat]
for(ptr=result; ptr != NULL; ptr=ptr->ai_next)
      {

            sock_client = socket(ptr->ai_family, ptr->ai_socktype, ptr->ai_protocol);
            if(sock_client == -1)
            {
                  chyba();
            }

            nastaveni_soc = fcntl(sock_client, F_GETFL, 0);
            if(fcntl(sock_client, F_SETFL, nastaveni_soc | O_NONBLOCK) == -1)
            {
                  chyba();
            }
      
            FD_ZERO(&sada);
            FD_SET(sock_client, &sada);
      
            timeout.tv_sec = 5;
            timeout.tv_usec = 0;
      
            i = connect(sock_client, ptr->ai_addr, (int)ptr->ai_addrlen);
      
            if(i == 0)
            {
                  if(fcntl(sock_client, F_SETFL, nastaveni_soc) == -1)
                  {
                        chyba();
                  }
                      continue;
            }

            if(i < 0)
            {
                  if(errno != EINPROGRESS)
                  {
                        if(fcntl(sock_client, F_SETFL, nastaveni_soc) == -1)
                        {
                              chyba();
                        }
                        break;
                  }
            
            }
            
            i = select(sock_client + 1, NULL, &sada, NULL, &timeout);
            if(i < 0)
            {
                  if(fcntl(sock_client, F_SETFL, nastaveni_soc) == -1)
                  {
                        chyba();
                  }
                  continue;
            }

            if(i == 0)
            {
                  cout <<  "Trying again";
            }
            if(i > 0)
            {
                  cout << ....
            }

            if(fcntl(sock_client, F_SETFL, nastaveni_soc) == -1)
            {
                  chyba();
            }

            break;
      }

3
Zdravím,

mám vytvořenou aplikaci v c++, která mi dělá WOL v IPv4 a chtěl bych, aby fungovala i v IPv6 sítích, ale nemůžu o tom najít v podstatě žádné informace, natož nějaký příklad.

Neví někdo, kde bych se o tom daly zjistit nějaké informace nebo jak to provést?

Díky

4
Zdravím,

po nějaké době jsem zde opět s jedním problémem, se kterým bych potřeboval poradit.

Kompiluji aplikaci pod Ubuntu 8.04 a narazil jsem na problém, že takto zkompilovaná aplikace mi odmítá běžet na starším debianu, jelikož je vytvořená pomocí novějšího gcc a glibc. Lze nějakým použitelným způsobem zkompilovat mou aplikaci pro tento starší glibc i na nějaké novější distirbuci Ubuntu (a případně i jiné distribuci s novějším glibc)?

Ideální by bylo, pokud by byla schopna běžet na všech podporovaných distribucích (tzn. podporovaných verzích Debianu, Red Hatu, prostě pro tu nejstarší podporovanou verzi glibc).

Díky za tipy  :)

5
Zdravím,

měl bych dotaz ohledně logování. V současné době má aplikace (c++) využívá k logování informací a chyb pouze:
openlog();
syslog();
closelog();

Rád bych ji dále rozšířil volitelně o logování do souboru (nejlépe pod všemi dostupnými distribucemi) a chtěl bych se zeptat, jaký by jste mi doporučili způsob či knihovnu. Zatím jsem našel jen jednu zajímavou a jednoduše použitelnou knihovnu a to "log4cpp".

Dále bych rád přidal možnost vytvořit nějaký použitelný dump při pádu aplikace. Tady se mi zatím nepodařilo najít žádnou knihovnu, která by byla použitelná pod více distribucemi zároveň.

Díky za tipy

6
Příkazový řádek a programování pro GNU/Linux / System() a vlákna
« kdy: 29 Listopadu 2009, 22:32:22 »
Zdravím,

google mi nebyl schopen poradit, tak se obracím na zde přítomné.
Potřeboval bych vědět, zda je volání system(""); v c++ aplikaci takzvaně thread-safe. Používám jej v mém programu k mnohonásobnému spuštění ping na různé IP adresy.

Pokud tomu tak není, čím jej mám nahradit, aby aplikace neztratila na rychlosti? Předpokládám, že použití semaforu by program podstatně zpomalilo.

Předem díky za odpověď

7
Zdravím,

tak jsem zde s dalším dotazem.
Snažím se zkompilovat aplikaci (vlastní), využívající hlavičkového souboru glib.h. Potřebné knihovny libglib2.0-dev jsou nainstalované.

Vložen je takto:
#include <glib.h>

Skript z makefile vypadá takto:

${CC} `pkg-config --cflags --libs glib-2.0` ${OBJ} -o hello

kdy:
CC - g++
OBJ - main.o

Pokud spustím `pkg-config --cflags --libs glib-2.0` zvlášť v konzoli, dostanu nazpět správné umístění souborů přesně podle manuálových stránek:

http://library.gnome.org/devel/glib/2.16/glib-compiling.html

Skript pro kompilaci je funkční pokud nepoužiji glib knihovny.

Má někdo nějaký nápad, kde by mohl být problém?

8
Zdravím,

řeším další problém týkající se spuštění skriptu (se Zenity) z daemona tak, aby byl jeho výstup zobrazený uživateli.

Prosté zavolání system("./skript"); (volání je správné, v něm chyba není jelikož z normální aplikace funguje) nemá žádný efekt, nic se nestane.

Díky za každou radu

9
Zdravím,

rád bych se zeptal, jestli zde někdo netuší, jakým způsobem zjistit z běžícího daemona (v c++), zda je na daném pc (ideláně s libovolnou distribucí) někdo přihlášený (ať už lokálně nebo vzdáleně).
Stačí bohatě i link na nějaký nápad  :)

Předem díky za pomoc.

Stran: [1]

Provoz zaštiťuje spolek OpenAlt.