[Gentoo] xmingw-gcc, hoe krijg je DAT werkend?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • psyBSD
  • Registratie: April 2004
  • Laatst online: 02-01-2021

psyBSD

Hates 0x00 bytes

Topicstarter
Ik heb vannochtend xmingw geemerged, maar daar hoort een gebruiksaanwijzing bij denk ik, want ik krijg het niet werkend. Tot nu toe ben ik bijna altijd in staat geweest om mijn software te schrijven in linux en als ik het werkend krijg onder linux / bsd is het goed.

Maar er komt een tijd dat ik win32-prog's :r moet gaan schrijven en ik wil geen windows installeren. Dus dan ben ik aangewezen op xmingw (of een alternatief). Ik heb het gecompiled en nu heb ik een mooie map met binaries en andere enge dingen.
Kan iemand mij vertellen waar dit voor is? :?

Als ik google kom ik alleen maar links tegen naar de Gentoo-portage, niet iets waar ik wat aan heb. En de man-pages werken niet. ;(

| Olympus OM-D EM10 mk2 | m.Zuiko 14-42mm f/3.5-5.6EZ | m.Zuiko 40-150mm f/4-5.6 R | m.Zuiko 60mm f/2.8 | 2x Godox v860 | Godox X1 |


Acties:
  • 0 Henk 'm!

  • WHiZZi
  • Registratie: Januari 2001
  • Laatst online: 15:19

WHiZZi

Museumdirecteurtje

Heb je dit al gelezen?
Gentoo forums is heel informatief over de meest uiteenlopende zaken :)

HomeComputerMuseum - Interactief computermuseum waar wij de geschiedenis van de thuiscomputer preserveren. Centraal gelegen in de Benelux.


Acties:
  • 0 Henk 'm!

  • psyBSD
  • Registratie: April 2004
  • Laatst online: 02-01-2021

psyBSD

Hates 0x00 bytes

Topicstarter
Bedankt voor de moeite, ik heb de ebuilds gecompiled.
En dat zou moeten werken, maar ik doe het wel even opnieuw.

Dan kijken waarom hij stdlib.h niet kan vinden. (Die IS toch platform-onafhankelijk?)

| Olympus OM-D EM10 mk2 | m.Zuiko 14-42mm f/3.5-5.6EZ | m.Zuiko 40-150mm f/4-5.6 R | m.Zuiko 60mm f/2.8 | 2x Godox v860 | Godox X1 |


Acties:
  • 0 Henk 'm!

  • Wilke
  • Registratie: December 2000
  • Laatst online: 21:10
psyBSD schreef op 18 april 2004 @ 15:14:
Dan kijken waarom hij stdlib.h niet kan vinden. (Die IS toch platform-onafhankelijk?)
Ik denk het niet. De interface waarschijnlijk wel, maar de inhoud vast niet.

Anyway, hoe zie je het precies voor je om win32 applicaties te gaan ontwikkelen zonder Windows te draaien? Of worden het alleen console apps....

Acties:
  • 0 Henk 'm!

  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Wilke schreef op 18 april 2004 @ 15:40:
[...]


Ik denk het niet. De interface waarschijnlijk wel, maar de inhoud vast niet.

Anyway, hoe zie je het precies voor je om win32 applicaties te gaan ontwikkelen zonder Windows te draaien? Of worden het alleen console apps....
Het gaat er waarschijnlijk om dat het .exe bestanden worden, gelukkig kun je of standaard system calls gebruiken om zelf schermpjes te maken. Of je kunt GTK/QT voor Windows mee sturen.

Steun Elkaar, Kopieer Nederlands Waar!


Acties:
  • 0 Henk 'm!

  • psyBSD
  • Registratie: April 2004
  • Laatst online: 02-01-2021

psyBSD

Hates 0x00 bytes

Topicstarter
Ik heb xmingw gereemerged, en het werkt, alleen nog wat softlinks maken in /bin en alles is klaar.

Wat betreft die stdlib, xmingw support alle standaard libraries van gcc. En hij maakt gebruik van een w32-api.

mingw doet iets geks met gcc. Als ik 'hellworld\n' naar een file schrijf maakt hij daar DOS -style newlines van, ok niks aan de hand zou je zeggen. Maar als ik de source door de gcc heen haal staat er 'helloworld\nq^A' in de file :s. (daarvoor was het gewoon 'helloworld\n') dus dat is nog een beetje jammer.

Ik zal hier wel posten als ik daar een oplossing voor heb gevonden.

[ Voor 63% gewijzigd door psyBSD op 18-04-2004 17:14 ]

| Olympus OM-D EM10 mk2 | m.Zuiko 14-42mm f/3.5-5.6EZ | m.Zuiko 40-150mm f/4-5.6 R | m.Zuiko 60mm f/2.8 | 2x Godox v860 | Godox X1 |


Acties:
  • 0 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
Wat bedoel je nou met dat laatste commentaar over die strings? Ik snap er geen hout van, en ik weet zeker dat er typo's inzitten - waar komt die o achter "hell opeens vandaan?

Overigens maakt xmingw windows binaries aan, en windows binaries maken textfiles met \r\n newlines ipv unix \n. Maar dat is niet erg, want windows textfiles lees je met TYPE en unix textfiles met cat.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Acties:
  • 0 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
Wilke schreef op 18 april 2004 @ 15:40:
[... kijken waarom hij stdlib.h niet kan vinden. (Die IS toch platform-onafhankelijk?) ]
Ik denk het niet. De interface waarschijnlijk wel, maar de inhoud vast niet.
Zelfs de interface is niet 100% platform-onafhankelijk. De C standaard beschrijft wel een boel, maar sommige details zijn "implementation-defined".

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Acties:
  • 0 Henk 'm!

  • Sendy
  • Registratie: September 2001
  • Niet online
Wilke schreef op 18 april 2004 @ 15:40:
[...]


Ik denk het niet. De interface waarschijnlijk wel, maar de inhoud vast niet.

Anyway, hoe zie je het precies voor je om win32 applicaties te gaan ontwikkelen zonder Windows te draaien? Of worden het alleen console apps....
MinGW is erg gaaf. Je kan gewoon de win32 api aanspreken (en windows dll's gebruiken), en als je bijvoorbeeld een OpenGL applicatie maakt is het (gebruikmakend van glut) praktisch platform-onafhankelijk programmeren. Je hoeft dan nog alleen de losse eindjes en windows bugs oplossen.

Maar je moet het vooral zien als compiler. Microsoft heeft geen gratis/Free compilers, dus is MinGW heel fijn.
offtopic:
Nu hoorde ik gisteren iets over een gratis command line compiler voor windows-code. Ik weet daar niets vanaf en wil het ook niet weten ;)

Acties:
  • 0 Henk 'm!

  • psyBSD
  • Registratie: April 2004
  • Laatst online: 02-01-2021

psyBSD

Hates 0x00 bytes

Topicstarter
MSalters schreef op 20 april 2004 @ 00:12:
Wat bedoel je nou met dat laatste commentaar over die strings? Ik snap er geen hout van, en ik weet zeker dat er typo's inzitten - waar komt die o achter "hell opeens vandaan?

Overigens maakt xmingw windows binaries aan, en windows binaries maken textfiles met \r\n newlines ipv unix \n. Maar dat is niet erg, want windows textfiles lees je met TYPE en unix textfiles met cat.
hehe, die o is idd een tiepfout in me post.

Maar het probleem blijft, als ik me code nu door de gcc haal heb ik geen \n meer.

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
                                                                                                                   
#define IOValue "Hello World\n"
                                                                                                                   
int main() {
        int i = 0;
        char *inputstream = (char *) malloc(13);
        char *outputstream;
        strcpy((outputstream = (char *) malloc(strlen(IOValue))), IOValue);
                                                                                                                   
        FILE *bestand1;
        bestand1 = fopen("test.txt","w+");
                                                                                                                   
        fprintf(bestand1,"%s",outputstream);
        rewind(bestand1);
        while(!feof(bestand1)) {
                i++;
                inputstream = (char *) realloc(inputstream, i);
                inputstream[i-1] = fgetc(bestand1);
        }
        inputstream[i-1] = '\0';
        printf("%s",inputstream);
}


Voor de duidelijkheid, voordat ik mingw had kreeg ik een gewoon textfiletje met een \n. Nu niet meer.

| Olympus OM-D EM10 mk2 | m.Zuiko 14-42mm f/3.5-5.6EZ | m.Zuiko 40-150mm f/4-5.6 R | m.Zuiko 60mm f/2.8 | 2x Godox v860 | Godox X1 |


Acties:
  • 0 Henk 'm!

  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Dat je extra karakters in test.txt krijgt ligt niet aan gcc, maar aan je code. Uit 'man 3 strlen':
DESCRIPTION

The strlen() function calculates the length of the string s, not including the terminating `\0' character.
Die (lelijke) assignment+malloc in regel 11 reserveert 1 char te weinig geheugen. Bij de fprintf() in regel 14 blijven we dus gewoon char's schrijven tot er toevallig een 0 in het geheugen staat.

"He took a duck in the face at two hundred and fifty knots."


Acties:
  • 0 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
Yep, en daarnaast is in dit geval sizeof beter. sizeof ( "tekst" ) geeft het echte aantal bytes tussen de "". Let op, dat werkt alleen als je een char[] gebruikt, niet mer een char*.
Verder is er nog de bug dat je onnodig veel realloc's doet; een bestand van N karakters heeft N reallocs nodig waarvan er N-1 gemiddeld N/2 karakters kunnen kopieren. Een filetje van 1K heeft dus potentieel al 1/2 MB aan byte copies tot gevolg, en een file van 1M heeft dus potentieel al 500 GB (!) aan byte copies tot gevolg. Beetje slordig.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein

Pagina: 1