Warum funktioniert dieser Code nicht mit Ruby 1.9, sondern mit Ruby 1.8?

8

Ich habe den stabilen Ruby-Quellcode von der Ruby Website heruntergeladen (1.9.2-p180) und kompiliert es auf Windows mit MinGW 4.5.2-TDM und MSYS. Zum kompilieren habe ich sh configure und make ausgeführt. Ich habe msvcrt-ruby191.dll und libmsvcrt-ruby191.dll.a genau wie erwartet erhalten. Dann habe ich diesen Code geschrieben:

%Vor%

Ich habe mit g++ kompiliert und bin auf die Ruby-DLL verlinkt. Als ich die ausführbare Datei ausführte, erhielt ich diese Fehlermeldung:

%Vor%

Das Problem ist: Der gleiche Code funktioniert perfekt, wenn er mit dem Ruby 1.8.7 verknüpft ist. Was ist hier falsch?

    
Guilherme Bernal 05.07.2011, 16:04
quelle

1 Antwort

6

Bitte versuchen Sie, Ihre init so zu erweitern:

%Vor%

Der Initialisierungsprozess wurde zwischen den Versionen 1.8 und 1.9 geändert. Daher wird jetzt ein separater verschachtelter Block { .. } und ein RUBY_INIT_STACK Makro im Block benötigt.

    
osgx 05.07.2011, 16:27
quelle

Tags und Links