GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:di cosa devo essere a conoscenza se voglio scrivere un'applicazione che verrà eseguita su qualsiasi distribuzione Linux?

Sto pianificando di scrivere un'app che mi piacerebbe essere in grado di eseguire su qualsiasi installazione Linux senza dover riscrivere il codice nel farlo (tranne forse l'interfaccia, GNOME vs KDE, ecc.).

Non sono molto esperto nelle minuzie delle differenze tra le distribuzioni e non posso nemmeno fornire dettagli sul progetto poiché è appena entrato nella fase di pianificazione a parte il fatto che cercherà in profondità nel kernel per interagire con quanto più hardware possibile del computer.

Risposta accettata:

Alcuni punti da tenere a mente durante lo sviluppo,

  1. Utilizza un sistema di compilazione standard
  2. Evita l'hard coding della libreria percorsi
  3. usa strumenti come pkg-config per trovare invece i pacchetti esterni.
  4. Se la tua applicazione ha una GUI, usa alcuni framework come wxWidgets che può eseguire il rendering di elementi dell'interfaccia utente nativi a seconda di dove corri.
  5. Evita di creare dipendenze con pacchetti che non funzioneranno su altre distribuzioni.

L'unico modo per garantire che l'applicazione funzioni completamente su tutte le distribuzioni è eseguirla e testarla effettivamente. Un modo per farlo è creare macchine virtuali per ciascuna distribuzione. VirtualBox può essere utilizzato per farlo. Ho circa 8 macchine virtuali sulla mia scatola per questo tipo di test.

Penso che non puoi generalizzare troppo sulla distribuzione dell'applicazione poiché ogni distribuzione utilizza un modo diverso di installare i pacchetti. Debian usa deb e fedora rpm .


Linux
  1. 5 strumenti di patching live del kernel che aiuteranno a eseguire server Linux senza riavvii

  2. Semplice comando Linux che mi dirà cos'è il Display Manager?

  3. Linux:quale applicazione utilizzare per un calendario?

  4. Come scrivere programmi in C# .NET, per eseguirli su Linux/Wine/Mono?

  5. Esiste una distribuzione Linux o una patch del kernel che cancella lo spazio di memoria di un processo dopo che il processo è terminato?

Le 7 migliori distribuzioni Linux scientifiche che servono le comunità scientifiche

Tutto ciò che devi sapere su Linux Mint Distro

20 comandi Linux principali di cui avrai bisogno ogni giorno

Quale distribuzione alternativa CentOS dovresti scegliere?

Come scrivere ed eseguire un programma C in Linux

Esiste una distribuzione Linux certificata UNIX?