C: Běh Unix konfigurační soubor v systému Windows

hlasů
7

Rád bych portu některé aplikace, které používám na Linuxu na Windows. Zejména jsem pracoval na wdiff . Program, který porovnává slovo rozdíly slovem dvou souborů.

V současné době jsem byl schopen úspěšně sestavit program na okna přes Cygwin. Nicméně bych chtěl spustit program nativně na Windows podobném projektu: UnixUtils .

Jak bych mohl jít o portování unixových programů v prostředí Windows?

My možné, že to ručně vytvořit soubor ./configure, abych mohl vytvořit správné makefile. Jsem na správné cestě? Má někdo měl zkušenosti portování GNU software pro Windows?

Aktualizace:

Jsem sestavil ho na Code :: Blocks a mám dvě chyby:

  • wdiff.c | 226 | error: `sigpipe‘ nehlášená (nejprve použít v této funkce)

  • readpipe.c: 71: nedefinovaný odkaz na `_pipe‘

  • readpipe.c: 74: nedefinovaný odkaz na `_fork

To je Linux signál, který není podporována systémem Windows ... equvilancy?

  • wdiff.c | 1198 | error: `VÝROBEK‘ nehlášená (nejprve použít v této funkce) |

To je v souboru configure.in ... hardcode bude pravděpodobně nejrychlejší řešení ...

Výsledek:

MSYS postaral o problémech configure, ale MinGW nemohl řešit problémy POSIX. Snažím se využít pthreads podle doporučení mrjoltcola. Nicméně, po několika hodinách jsem se nemohl dostat ke kompilaci ani odkaz pomocí přiloženého knihovny. Myslím, že kdyby to fungovalo by to bylo řešení, jsem byl po. Zvláštní uznání Michael Madsen pro MSYS.

Položena 26/03/2010 v 22:29
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
3

Ano. Pokud se budete držet na standardní knihovny jazyka C a funkce POSIX, většina je k dispozici v systému Windows. Možná prostě muset najít implementace. Existují implementace věcí, které nevyžadují Cywgin nebo MinGW (například pthreads balení atd)

Také, tam je skvělá kniha, která je napsána ve stylu W. Richarda Stevena Advanced Proramming v prostředí Unixu , a kniha je Windows System Programming , autor Johnson Hart. Má 4. vydání. Zaměřuje se na systémové programování, není GUI léčba vůbec.

http://www.amazon.com/Windows-Programming-Addison-Wesley-Microsoft-Technology/dp/0321657748

Je to nejlepší kniha, vím o programování UNIX pohybující se do systému Windows.

Odpovězeno 26/03/2010 v 22:43
zdroj uživatelem

hlasů
2

Můžete se podívat na MinGW (a MSYS), které jsou podobné Cygwin, ale gcc produkovat nativní spustitelné soubory Windows. Nicméně, protože emulace Unix není tak dobrý jako Cygwin, budete muset upravit svůj kód.

Odpovězeno 26/03/2010 v 22:35
zdroj uživatelem

hlasů
0

MinGW je asi nejjednodušší způsob, jak dostat GCC a přidružené binární nástroje (včetně gdb) na PC s Windows. Obsahuje hlavičkové soubory a import knihovny, takže můžete volat nativní Windows API. Chcete-li více integrovaného vývojového prostředí IDE můžete stáhnout zdarma Microsoft Visual Studio Express C ++ .

Ať tak či onak budete pravděpodobně muset převést některé funkce volání používat Windows specifické API (pokud chcete knihu bych také doporučit Hart knihu uvedenou v odpovědi mrjoltcola je). U jednoduchých nástrojů příkazového řádku tento převod je obvykle není velký problém, velké portování noční můry mají tendenci zapojit nástroje s GUI, které se hluboce vložené závislosti na struktuře GUI poskytované operačním systémem.

Odpovězeno 26/03/2010 v 22:50
zdroj uživatelem

hlasů
0

Vždy se snažte po standardů, i když portování aplikací. vyhovující překladače POSIX existují na Windows / Linux. Můžete zkusit MinGW. Má plnou toolchain potřebnou k vytvoření standart aplikace POSIX (GNU Linux stejně). Podívejte se na dev-CPP to usnadňuje práci.

Odpovězeno 26/03/2010 v 22:42
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more