Größe von 'time_t' ?

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Größe von 'time_t' ?

Beitrag von ts-soft »

Nimmste die 32-Bit Version, der Fehler ist auf beiden Versionen derselbe.
PS: Kauf Dir bessere Hardware :mrgreen: und nicht so ein Bastelgedöns.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
SBond
Beiträge: 266
Registriert: 22.05.2013 20:35
Computerausstattung: armseliger Laptop, mit wenig RAM und noch weniger CPU-Leistung. ...und die Grafikkarte.... ....naja.. da male ich doch lieber selber.
Wohnort: nahe Wolfsburg

Re: Größe von 'time_t' ?

Beitrag von SBond »

ts-soft hat geschrieben:Nimmste die 32-Bit Version, der Fehler ist auf beiden Versionen derselbe.
PS: Kauf Dir bessere Hardware :mrgreen: und nicht so ein Bastelgedöns.
Würde ich zu gerne :mrgreen:
...aber als Student sind Geldsummen >500€ auf dem Konto, nahezu ein Akt der Unmöglichkeit. Jedenfalls für mich :( ...in einem Jahr sollte sich das Masterstudium dennoch bezahlt machen. <)
41 6c 73 6f 20 77 65 6e 6e 20 64 75 20 73 6f 20 76 69 65 6c 20 4c 61 6e 67 65 77 65 69 6c 65 20 68 61 73 74 2c 20 64 61 6e 6e 20 6b 61 6e 6e 73 74 20 64 75 20 61 75 63 68 20 67 6c 65 69 63 68 20 7a 75 20 6d 69 72 20 6b 6f 6d 6d 65 6e 20 75 6e 64 20 61 62 77 61 73 63 68 65 6e 2e

:D
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Größe von 'time_t' ?

Beitrag von ts-soft »

SBond hat geschrieben:...aber als Student sind Geldsummen >500€ auf dem Konto, nahezu ein Akt der Unmöglichkeit
Ich hab für Gehäuse, Mainboard, CPU, RAM und Graka weniger ausgegeben. Den Rest wirste ja haben.
Kannst ja mal auf meine Signatur klicken, um eine Vorstellung zu bekommen.

Okay, wird jetzt Offtopic :)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Größe von 'time_t' ?

Beitrag von ts-soft »

So, noch ein Nachtrag zu diesem Beitrag:

Der C Typ long wird in PB zu integer, solange nichts anderes definiert ist. (32 oder 64 Bit)
Der C Typ int wird in PB zu long, solange nichts anderes definiert ist. (Immer 32 Bit)

Es ist also genau umgekehrt :mrgreen:

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
auser
Beiträge: 58
Registriert: 17.05.2011 10:56

Re: Größe von 'time_t' ?

Beitrag von auser »

ts-soft hat geschrieben: Der Fehler kommt direkt beim Kompilieren. Ob das kompilierte Programm dann abstürzt, weiß ich nicht.
Genau genommen kommt der Fehler beim Linken und somit hat das ganze weniger mit PB zu tun weil das Linken auch für PB der GCC macht. CentOS 6 und auch Debian Wheezy (also zwei aktuell ziemlich wichtige Distributionen) haben noch immer eine glibc kleiner 2.17. Und somit fehlt da ein Flag (diesen findet man auch in der man-page vom clock_gettime - zumindest unter Debian und CentOS):



Lösung (glibc < 2.17):

Code: Alles auswählen

Import "-lrt"
  clock_gettime.l(clock_id.l, *tp.timespec)      ; aktuelle Zeit ermitteln
EndImport
clock_gettime gibt auf den besagten Distributionen nicht C-Long sondern C-Int zurück also PB-Long und der Typ clock_id ist eigentlich auch nur 4 byte gross - also ist PB-Int da genau genommen auch falsch (wenngleich der Wert der paar möglichen Konstanten zum Setzen vom Typ vermutlich eh darunter bleiben wird).


Wenn es nicht unbedingt Nanosekunden (sondern auch Micro/Millisekunden sein dürfen) würd ich aus Kompatibilitätsgründen noch immer eher zu gettimeofday greifen. http://www.purebasic.fr/german/viewtopi ... 78#p317978


Was die RAM-Größe von 'ner Linux-VM anbelangt reicht 1GB in den meisten Fällen locker aus. CentOS6 geht auch mit 256MB RAM noch (sogar mit GUI). Die meisten VMs die bei uns laufen haben 512MB... manche 256MB. Man braucht (insbesondere für so Entwicklungsmaschinen oder Buildbots) ja nicht jeden Mist drauf installieren und laufen lassen. Ich bevorzuge für VMs Debian Minimal-installation. Wenn was kompiliert werden soll dann 'build-essentials' drauf und den echten (und einzig wahren) vim. In dem Fall wär's weil PB vielleicht noch zusätzlich bissl GTK-Zeugs (bzw. das Check-Skript durchlaufen lassen und zufrieden stellen) und gut iss.

Mfg,
auser
Antworten