---
title: "Portabel kod, definitioner"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/58540-portabel-kod-definitioner"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "fluff"
published: "2002-11-09T21:38:56.000Z"
updated: "2002-11-30T17:32:54.000Z"
replies: 3
views: 229
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/58540-portabel-kod-definitioner"
---

# Portabel kod, definitioner

## #1 — fluff, 2002-11-09T21:38Z

Tjena

Håller på med ett litet program (mest för att lära mig) och har kommit på att man kan skriva väldigt trevlig o portabel kod genom att t.ex använda

\#ifdef \_WIN32
  \#include \<windows.h\>
\#endif

t.ex, vad finns det för andra definitioner?
om man kompilerar med gcc på linux, sätts \_LINUX då?
hur är det med \*bsd?

Tacksam för svar, har missbrukat google för mycket, förhoppningsvis inte på fel sätt :r

Permalänk: https://www.webforum.nu/p/58540

## #2 — fluff, 2002-11-30T02:24Z

\*bumpelibump bump\*  :stud

Permalänk: https://www.webforum.nu/p/870092

## #3 — leifen, 2002-11-30T09:58Z

Portabel kod, ja den önskan har väl funnits i alla tider men har sällan lyckats till fullo. Problemen är alla API, gränssnitt, bibliotek m m. Sedan kan man lägga till att en standard ofta tolkas olika och/eller ofullständigt. T ex är ju många missnöjda med VC++ 6.0 i en del avseenden, ska tydligen bli bättre i nästa .net. 

Problemet med #ifdef blir att koden lätt blir lite grisig. Vi har en stor applikation där det finns massa ifdefs beroende på om det är en svensk eller norsk version, detta beror på olika ritstandard i Sverige och Norge. Men alternativet med uppdelad kod är sämre för det blir omöjligt att underhålla i långa loppet.

Permalänk: https://www.webforum.nu/p/870138

## #4 — fluff, 2002-11-30T17:32Z

Okaj, mitt program (som du säkert redan gissat) består inte direkt av flera miljoner rader kod, utan kanske bara några hundra.

Vad jag egentligen vill veta är alltså om "gcc" definerar t.ex "\_LINUX" när man kompilerar, såsom Visual Studio definerar "\_WIN32".

Tydligen kan man göra det med makefiles, men jag tycker det borde finnas ett annat sätt.........  :q

Permalänk: https://www.webforum.nu/p/870362

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/58540-portabel-kod-definitioner
