amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Suche [ - Suche - Neue Beiträge - Registrieren - Login - ]

1 2 3 4 -5- 6 7 8 9 10 >> Letzte Ergebnisse der Suche: 899 Treffer (30 pro Seite)
DariusBrewka   [Benutzer gesperrt]

07.10.2006, 00:59 Uhr

[ - Direktlink - ]
Thema: C++ Problem
Brett: Programmierung

@Holger

es ging mir nicht um Listen und Nodes in C++, sondern um das Konkrete Beispiel welches ich aus dem DA3 Source habe, diese Liste würde auch in C nicht funktionieren, wenn die Node im Objekt nicht bei Offset 0 beginnt. Das ganze wie Ich es hier habe funktioniert halt Problemlos in C++, wie schon gesagt, aber der Compiler der das Compiliert hat hat die beiden Node Einträge ans Offset 0 und 4 im Objekt gepackt. Ich versuche mal zu zeigen, warum kein Cast etc. egal ob C oder C++ bei Execlisten helfen kann.

nehme ein Object welches eine MiniNode inne hat

code:
struct MinNode
{
    struct MinNode * mln_Succ,
		   * mln_Pred;
};

struct TestNode {
 struct MinNode node;
}


und nun die zugehörige Listendefinition

code:
struct MinList
{
    struct MinNode * mlh_Head,
                   * mlh_Tail,
		   * mlh_TailPred;
};


wenn du dir das NEWLIST Makro anschaust

code:
#define NEWLIST(x) 
	{								
		(x).lh_Head	= (struct Node *) &(x).lh_Tail;		
		(x).lh_Tail	= NULL;					
		(x).lh_TailPred	= (struct Node *) &(x).lh_Head;		
	}


lh_Head soll somit auf eine Node zeigen, welche sich an der Adresse der Liste + Offset lh_Tail befindet, also eine in der Liste selber eingebettete Node, die also die Folgenden zwei Member hat

code:
* mlh_Tail,
		   * mlh_TailPred;


als Node, entspricht mlh_Tail nun mln_Succ und mlh_TeilPred mln_Pred.
An Offset 0 auf welches lh_Head zeigt liegt in der Liste also der Member mlh_Tail, wie auch mln_Succ an Offset 0 im Object liegt.

definiere die TestNode jetzt mal so,

code:
struct TestNode {
 ULONG dummy;
 struct MinNode node;
}


wenn du jetzt nach NewList() ml_Head ausliest zeigt dieses auf &mlh_Tail, da das ein Object vom Type Node ist, mln_Succ liegt aber in diesem Fall im Objekt wegen dem ULONG am Anfang nicht mehr an Offset 0, sondern am Offset 4. Dieses ULONG ist in der Liste aber nicht drinne, ein list->ml_Head->mln_Succ würde nicht am Offset 0 lesen (wo der Member in der List ist auf dem lh_Head zeigt), sondern am Offset 4, also anstatt mln_Tail mln_TeilPred.


@woop

Es geht nicht darum das man Exec Listen nicht in C++ verwenden kann, oder das man hin&her Casten kann, exec Listen gehen nicht wenn die member succ und pred der node nicht am Anfang des Objektes stehen, darum ist das auch kein C++ Problem.
 
DariusBrewka   [Benutzer gesperrt]

06.10.2006, 12:34 Uhr

[ - Direktlink - ]
Thema: C++ Problem
Brett: Programmierung

@Holger

Naja, dann bin ich halt Doof weil Ich das nicht hinbekomme, egal was Ich mache. Die Definition der Liste ist ja oben gegeben und die Änderungen ebenfalls, lassen sich auch Rückgängig machen.

Es wäre schön wenn jamand mir sagt, was Ich ändern muß, damit das läuft, ansonsten lasse Ich das erstmal bis Ich wieder mehr Zeit habe.
 
DariusBrewka   [Benutzer gesperrt]

06.10.2006, 10:52 Uhr

[ - Direktlink - ]
Thema: C++ Problem
Brett: Programmierung

Zitat:
Original von Solar:
Zitat:
Original von DariusBrewka:
Ich habe jetzt wohl herausgefunden, warum das nicht geht und zwar wegen der Definition der Node und der Liste...


Nein, wegen impliziter Annahmen über die Struktur eines C++-Objektes (anstatt die entsprechenden Casts und Wrapper zu benutzen). Aber hauptsache es geht, überzeugen wird man Dich wohl kaum können.


was wird das jetzt?

In den RKMs steht das die Node's am Anfang der Strukturen stehen müssen, d.h. Offset=0, da wird auch kein Cast helfen, aber du kannst es ja mal Probieren und mich Überzeugen.

class_lists.h
code:
#ifndef CLASS_LIST_H
#define CLASS_LIST_H
#ifndef EXEC_LISTS_H
#include <exec/lists.h>
#endif

class ListC;

class NodeC //:private MinNode
{

// Eingefügt um vor der MinNode ein paar Bytes einzufügen
    ULONG dummy1
    struct MinNode *mln_Succ;
    struct MinNode *mln_Pred;
//

public:
NodeC(ListC &);
virtual ~NodeC(void);
void remove(void);
NodeC *succ(void) const;
NodeC *pred(void) const;
NodeC *succr(void) const;
NodeC *predr(void) const;
ListC *list(void) const;
unsigned getnum(void) const;
NodeC *operator++(int) const;
NodeC *operator--(int) const;
friend class ListC;
};

class ListC  //:private MinList
{
// einfgefügt um vor der MinList ein Padding LONG einzufügen
   ULONG dummy2;
   struct  MinNode *mlh_Head;
   struct  MinNode *mlh_Tail;
   struct  MinNode *mlh_TailPred;
//
public:
ListC(void);
~ListC(void);
void init(void);
void free(void);
void insert(NodeC *,NodeC *);
void addhead(NodeC *);
void addtail(NodeC *);
NodeC *remhead(void);
NodeC *remtail(void);
NodeC *getnode(unsigned) const;
unsigned count(void) const;
NodeC *head(void) const;
NodeC *tail(void) const;
operator void*(void) const;
friend class NodeC;
};

#endif


class_lists.c
code:
#include <clib/alib_protos.h>
#include <clib/exec_protos.h>
#include "class_list.h"

ListC::ListC()
{
// original NewList((List *)this);
NewList((List *)&this->mlh_Head;);
}

void ListC::free()
{
for(;;)
	{
	NodeC *n=(NodeC *)mlh_Head;
	if(!n->mln_Succ) break;
	delete n;
	}
}

ListC::~ListC()
{
free();
}

void ListC::addtail(NodeC *n)
{
// original AddTail((List *)this,(Node *)n);
AddTail((List *)&this->mlh_Head;,(Node *)n);
}

NodeC *ListC::head() const
{
return (NodeC *)mlh_Head;
}

NodeC::NodeC(ListC &list)
{
list.addtail(this);
}

NodeC::~NodeC()
{
Remove((Node *)this);
}

NodeC *NodeC::operator++(int) const
{
return (NodeC *)mln_Succ;
}


Ich würde mich freuen wenn du das hinbekomen würdest. Ich kann das nicht, aber wie gesagt mit den C++ Hardcore Internas kenne Ich mich nicht so aus.
 
DariusBrewka   [Benutzer gesperrt]

06.10.2006, 03:30 Uhr

[ - Direktlink - ]
Thema: C++ Problem
Brett: Programmierung

Ich habe jetzt wohl herausgefunden, warum das nicht geht und zwar wegen der Definition der Node und der Liste, die Member mln_Tail und mln_Tailpred definieren in der Liste eine Node, beim Initialisieren der Liste mittels NEWLIST() wird mlh_Head auf die Adresse von mln_Tail gesetzt

code:
this->mlh_Head     = (struct NodeC *) &this->mlh_Tail;


d.h. mlh_Head zeigt direkt auf den Member mlh_Tail bzw. dieses entspricht in der Node mln_Succ, dabei ist aber Vorausgesetzt dass die Node zwischen Objektanfang und der Adresse von mln_Succ keine Padding Bytes hat, ansonsten zeigt mlh_Head nicht auf den anfang der Node und damit das Objekt, sondern auf einen in diesem um 4 Bytes verschobenen Speicherbereich.

zum Testen habe ich obiges durch

code:
this->mlh_Head     = (struct NodeC *) &this->mlh_Tail-4;


ersetzt, dann ging das Ganze.

Exec Listen können somit nur Funktionieren, wenn die MinList, MinNode am anfang der Struktur steht, weil die Adresse von mln_Succ gleichzeitig die Adresse des Objektes ist, was natürlich nicht mehr der Fall sein kann, wenn vorher noch ein paar Bytes liegen.
 
DariusBrewka   [Benutzer gesperrt]

06.10.2006, 01:47 Uhr

[ - Direktlink - ]
Thema: C++ Problem
Brett: Programmierung

Zitat:
Original von Solar:
Wenn der von Darius verwendete Code komplett in C++ wäre, hätte er das Problem nicht...


Da bin Ich mir nicht sicher, ich habe die C Teile, darunter auch die OS Calls gegen C(++) Code getauscht, d.h. NewList als auch AddTail(), gegen den Code getauscht und dennoch geht das ganze Nicht.

code:
NodeC *ListC::head() const
{
return (NodeC *)mlh_Head;
}


ein

NodeC *n = list.head();

sollte die Erste Node liefern, es liefert aber die letzte Node. Woran das liegt weiß Ich nicht, habe mich mit Exec Listen noch nicht viel beschäftigt, aber der C++ Code an sich dürfte OK sein, schliesslich funktioniert DA3 auf 68k völlig Korrekt. Das einzige was mir einfallen würde, ist halt das zwischen den Listenelementen der Nodes und anfang der Klasse 4 Bytes liegen.

Das schöne an Exec Listen ist, daß man keine Sonderfälle betrachten muß wenn man Nodes hinzufügt / entfernt.
 
DariusBrewka   [Benutzer gesperrt]

05.10.2006, 12:07 Uhr

[ - Direktlink - ]
Thema: C++ Problem
Brett: Programmierung

@Holger

Vererbung heißt für mich, das die Eigenschaften einer Basisklasse übernommen werden, aber nicht daß in diesem Fall die MinList an Anfang der neuen Klasse stehen muß.

Und in diesem Fall unter dem AROS Compiler, welchen ich nutze, ist das definitiv nicht der Fall:

code:
class ClassC:struct MinList {
int a,
}


der Compiler hat u.A. folgende zwei Möglichkeiten die Klasse im Speicher zu hinterlegen.

(Typ1)
code:
struct MinList ml;
int a


oder (Typ2)

code:
int a
struct MinList ml;


oder 1000 andere, indem er irgendwelche Padding-Bytes einfügt. Wenn man auf die MinList Einträge mit normalen C(++) Mitteln zugreift gibt es da keine Problem, die Systemfunktionen kennen aber die internen Eigenschaften der neuen Klasse nicht, d.h. wenn der Zweite Typ von der Klasse intern erstellt wird dann macht Killt ein NewList(this) natürlich den Member a.

Bei meinem Beispiel wird zwischen der Adresse eines neu erzeugten Objects und der darin enthaltenen MinList noch ein ULONG (bzw. 4 Bytes eingefügt).
 
DariusBrewka   [Benutzer gesperrt]

05.10.2006, 10:53 Uhr

[ - Direktlink - ]
Thema: C++ Problem
Brett: Programmierung

Zitat:
Original von Solar:
Ich kenne die von Dir benutzten Datenstrukturen nicht, aber Du solltest vielleicht über "ordentliche" Wrapper-Klassen nachdenken, die die C-Strukturen in C++-Objekte verpacken, ohne Annahmen über die interne Struktur von C++-Objekten zu machen.


Es geht um DigitalAlmanac, welches Ich vor einiger Zeit auf AROS angefangen habe zu portieren aber wegen Zeitmangels ein wenig auf Eis gelegt habe. An einigen Stellen ist es abgeschmiert und Ich habe nun nachgeschaut woran das liegt und das liegt an dem Oben beschriebenen, daß ein Object erzeugt wird und dieses dann eine Adresse hat, und in eine Liste eingefügt wird. Wenn durch die Liste gegangen wird, dann ist die Objectadresse um 4 Bytes Verschoben.

Dort werden für die Listen SystemFunktionen benutzt und darum muß man Sich halt Gedanken um den internen Aufbau machen. Es stammt halt nicht von mir. Ich persönlich schreibe meine Programme IMMER so, daß der Compiler die Einträge nach belieben verschieben kann, also so, dass z.B. ein Eintrag der in der Struktur vor einem anderen steht, bei anderen Compilern dahinter stehen kann.

DA3 ist Codemäßig schon 1A, aber bei einem Konstrukt

code:
class ListC:struct MinList
{
}

bin Ich skeptisch.

 
DariusBrewka   [Benutzer gesperrt]

05.10.2006, 04:50 Uhr

[ - Direktlink - ]
Thema: C++ Problem
Brett: Programmierung

Ich habe lange nichts mehr mit C++ gemacht, darum ein Beispiel wo Ich nicht weiß wie ich das lösen soll

code:
class ListC:private MinList
{
public:
ListC(void);
~ListC(void);
...
}

ListC::ListC()
{
NewList((List *)this);
}


MinList stammt aus "exec/lists.h" und NewList() stammt aus der exec.lib,

das Problem ist NewList() kann nur Funktionieren, wenn die MiniList am anfang der Struktur liegt,

d.h. wenn ein ListC c = new ListC() und &c->mln_Head identisch sind, was aber bei mir nicht der Fall ist, d.h. gibt es einen Weg den Compiler anzuweisen bei einer abgeleiteten Klasse die Basis an den Anfang zu legen ohne irgendwas davor zu schreiben.

Es ist ja nicht nur NewList() was hier in diesem Fall nicht funktionieren kann, auch die anderen Struktureinträge stimmen nicht überein. Man kann nicht mittels xyz_Succ Members in den nächsten Listeneintrag springen, da dieser in diesem Fall nicht auf den Anfang der Struktur zeigt.
 
DariusBrewka   [Benutzer gesperrt]

28.09.2006, 21:50 Uhr

[ - Direktlink - ]
Thema: Siemens Manager 30% mehr Gehält (Prügel hätten sie verdient)...
Brett: Get a Life

Wenn man sich den Siemens-Benq Deal anschaut, dann wird das hier IMHO Brisant, dann versteht man auch warum Siemens seine Handysparte Verschenkt + Aufgeld gegeben hat, es ist doch so Offensichtlich, das das Unternehmen Insolvenz machen sollte.
 
DariusBrewka   [Benutzer gesperrt]

28.09.2006, 19:10 Uhr

[ - Direktlink - ]
Thema: e-uae 0.8.28 für Linux
Brett: AROS und Amiga-Emulatoren

@Holger

Ich habe nochmals nachgeschaut es war libpangocairo-1.0.so.0 (darum auch lib...cairo...) ich hab's für SUSE gesucht aber nicht gefunden, und als source war da soviel an Voraussetzungen angegeben, damit man das compilieren kann, daß ich das garnicht erst ausprobiert habe, sonst mache ich das ab und zu auch.

[ Dieser Beitrag wurde von DariusBrewka am 28.09.2006 um 19:11 Uhr geändert. ]
 
DariusBrewka   [Benutzer gesperrt]

28.09.2006, 17:30 Uhr

[ - Direktlink - ]
Thema: e-uae 0.8.28 für Linux
Brett: AROS und Amiga-Emulatoren

@Holger

ja diese Version ging, bei 0.8.29 wollte er immer irgendwelche lib...cairo....so.0 oder so etwas ähnliches haben.

@andy1200

Ich habe die 0.8.29 genz normal entpackt und gestartet ohne YAST (ja ich nutze SUSE), UAE liess sich aber nicht starten.

bei 0.8.28 scheint der JIT nur zu laufen wenn man max 8MB RAM einstellt, das ist mir aber etwas zu wenig, dachte ich könnte bei 0.8.29 mehr einstellen, aber das ging garnicht.
 
DariusBrewka   [Benutzer gesperrt]

28.09.2006, 12:56 Uhr

[ - Direktlink - ]
Thema: e-uae 0.8.28 für Linux
Brett: AROS und Amiga-Emulatoren

hat jemand die besagte Version für Linux noch als Binary?

Ich habe die 0.8.29 installiert, aber die Läuft bei mir nicht, bzw es fehlen 1000 Linux-Pakete die ich nicht installieren will und leider habe ich die Alte Version überschrieben.
 
DariusBrewka   [Benutzer gesperrt]

26.09.2006, 10:14 Uhr

[ - Direktlink - ]
Thema: MSGPort richtig benutzen
Brett: Programmierung

Delay() ist zwar auch keine wirkliche Lösung, aber damit kannst du zumindestens erreichen, daß die Tastatur nicht 100000/s abgefragt wird war garnicht nötig ist und damit mehr Zeit für's Multitasking übrig bleibt. Ein Delay(5) sorgt dafür das der Task für 100ms schlafen gelegt wird, damit hast du eine abfragefolge von 10/s, das reicht doch und andere Tasks haben etwas Rechenzeit.

am Besten:

Für das andere gibt's das Timerdevice, d.h. Tastaturabfrage über Intuition abbruch nach einer gewissen Zeit über das Timerdevice.

[ Dieser Beitrag wurde von DariusBrewka am 26.09.2006 um 10:16 Uhr geändert. ]
 
DariusBrewka   [Benutzer gesperrt]

25.09.2006, 23:05 Uhr

[ - Direktlink - ]
Thema: MSGPort richtig benutzen
Brett: Programmierung

Dann versuche wenigstens die Tastaturabfrage mittels Intuition oder input.device wenn beides nicht geht lege den Task wenigstens kurzzeitig in den Schlaf, indem du ein kleines Delay() einfügst.
 
DariusBrewka   [Benutzer gesperrt]

25.09.2006, 12:14 Uhr

[ - Direktlink - ]
Thema: jpeg's sichern unter OS4?
Brett: Programmierung

Zitat:
Original von AmigaPapst:
Eine Frage hätte ich trotzdem. Wie hast du Library ohne AmigaOS4 zu besitzen entwickelt? Über Crosscompiling oder einen Rechner ausgeborgt?


Ich habe kein OS4 oder entsprechenden Rechner und kenne auch keinen in der Umgebung.

Entwickelt habe Ich die ja auch nicht selber, sondern den Code der 68k Version an OS4 angepasst.

Ich habe mal mein eigenes Programm an OS4 angepasst und dafür auch Libstartups geschrieben, die konnte Ich für die Library übernehmen.

Den source habe ich per Crosscompiler auf Linux übersetzt.
 
DariusBrewka   [Benutzer gesperrt]

25.09.2006, 10:21 Uhr

[ - Direktlink - ]
Thema: jpeg's sichern unter OS4?
Brett: Programmierung

Hab's heute morgen geuppt, hoffentlich läuft's bei jedem 100%.
 
DariusBrewka   [Benutzer gesperrt]

24.09.2006, 22:40 Uhr

[ - Direktlink - ]
Thema: MSGPort richtig benutzen
Brett: Programmierung

im_Class ist ein Member der intuition/IntuiMessage, d.h. wenn im_Class=0 ist wurde die Message von der VOICE library abgesendet.

Leider habe ich mit Basic seit ca. 88 nicht wirklich mehr etwas gemacht, aber

code:
GetMsg&(PEEKL(Voiceport&+UserPort%))


ist für mich etwas merkwürdig, siehrt für mich nach soetwas aus wie

code:
GetMsg&(PEEKL(window&+UserPort%))


da GetMsg() als Parameter einen MessagePort erwartet, den aber CreateMsgPort() schon liefert, warum wird dann UserPort, was garnichts mit der voice.library zu tun hat dazuaddiert?
Bzw. du tust so, als ob CreatemsgPort() eine Windows struktur zurück gibt.

eher Richtig wäre sowas in der Art

code:
GetMsg&(VoicePort&)


[ Dieser Beitrag wurde von DariusBrewka am 24.09.2006 um 22:41 Uhr geändert. ]

[ Dieser Beitrag wurde von DariusBrewka am 24.09.2006 um 22:43 Uhr geändert. ]
 
DariusBrewka   [Benutzer gesperrt]

21.09.2006, 19:10 Uhr

[ - Direktlink - ]
Thema: jpeg's sichern unter OS4?
Brett: Programmierung

Ich weiß nicht welche Apps diese library wirklich nutzen, Ich denke eher zum speichern für's laden werden die meisten wohl eher die Datatypes nutzen.
 
DariusBrewka   [Benutzer gesperrt]

21.09.2006, 17:12 Uhr

[ - Direktlink - ]
Thema: jpeg's sichern unter OS4?
Brett: Programmierung

Ich bin immer so faul die Sachen zusammenzupacken, wenn du die brauchst kann Ich die dir auch so senden (EMain an mich), aber innerhalb der Woche sicherlich.
 
DariusBrewka   [Benutzer gesperrt]

20.09.2006, 00:36 Uhr

[ - Direktlink - ]
Thema: jpeg's sichern unter OS4?
Brett: Programmierung

Nun scheint die Library endlich 100% zu funktionieren, danke an Thomas dass Er für mich die Funktion getestet und Tipps gegeben hat.
 
DariusBrewka   [Benutzer gesperrt]

20.09.2006, 00:29 Uhr

[ - Direktlink - ]
Thema: News die zugemüllt werden.
Brett: Get a Life

Zitat:
Original von Han_Omag:
@DariusBrewka:

>> wo Kai meinte OS4 interessiert sich für OS4 , würde es aber unter den derzeitigen Umständen nicht kaufen. Nee Maja irgendwie muß irgendwas passiert sein, die Naturgesetze können nicht mehr gelten.

Was wundert dich an einer solchen Aussage?


du hast von Kai's gerede bisher wohl nicht viel mitbekommen oder?

 
DariusBrewka   [Benutzer gesperrt]

19.09.2006, 23:49 Uhr

[ - Direktlink - ]
Thema: News die zugemüllt werden.
Brett: Get a Life

Zitat:
Original von Maja:
@DariusBrewka:

Wenn Du in den Kommentaren gar nichts mehr lesen willst, was Dir nicht gefällt, müssen wir sie abschalten. ;)

Was ist eigentlich los mit Dir? Ein emotionales Tief? Bist doch nicht so ein "Knatschkopp". :)


Ich will schon lesen nur wenn ich mir manches durchlesen muß, dann wird mir schon komisch, vorhin wo Kai meinte OS4 interessiert sich für OS4 , würde es aber unter den derzeitigen Umständen nicht kaufen. Nee Maja irgendwie muß irgendwas passiert sein, die Naturgesetze können nicht mehr gelten.
 
DariusBrewka   [Benutzer gesperrt]

19.09.2006, 01:11 Uhr

[ - Direktlink - ]
Thema: News die zugemüllt werden.
Brett: Get a Life

Zitat:
Original von Maja:
@DariusBrewka:
Das ist verständlich. Es ist aber nicht so, dass jeder Thread in den Kommentaren so endet. Am Wochenende haben die Leutz halt mehr Zeit, auch für Unfug. Wenn der Unfug überhand nimmt, bleibt leider nur noch schließen.


Naja, nimm einen anderen Thread da führen K**9 und M* einen Dialog und sprechen sich gegenseitig zu, da hat man auch keine Lust mehr mitzulesen obwohl man eigentlich das Thema doch ganz interessant findet.
 
DariusBrewka   [Benutzer gesperrt]

18.09.2006, 23:54 Uhr

[ - Direktlink - ]
Thema: News die zugemüllt werden.
Brett: Get a Life

Zitat:
Original von Maja:
@DariusBrewka:
Muss man sowas ernst nehmen?

Wer sich von solchen Kinderreien vergraulen lässt, stand IMHO ohnehin schon länger davor und hat auf eine günstige Gelegenheit gewartet, einen Grund für den Abschied zu haben.


Ab und zu will man ja auch Informationen aus solchen Threads haben, also ich fand's zumindestens zuvor Interessant und man möchte nicht immer per EMail weiterdisskutieren.
 
DariusBrewka   [Benutzer gesperrt]

18.09.2006, 10:53 Uhr

[ - Direktlink - ]
Thema: News die zugemüllt werden.
Brett: Get a Life

Kann mir einer Erklären was das sollt?

http://www.amiga-news.de/de/news/comments/thread/AN-2006-09-00066-DE.html

so vergrault man doch jeden der was macht.
 
DariusBrewka   [Benutzer gesperrt]

17.09.2006, 22:50 Uhr

[ - Direktlink - ]
Thema: Warum keinen neuen AmigaOne's ??
Brett: Amiga, AmigaOS 4

Zitat:
Original von Holger:
Äh, wenn "AmigaAnywhere" zu den existierenden Geräten kompatibel wäre, nur so rum macht es Sinn.


nee, das ist Falsch, bei AmigaInc heißt das die Hardware und das OS muss kompatibel UND lizensiert sein, andersrum macht es für AInc keinen Sinn, jetzt Fragen die sich nur, warum MicroSoft nicht ankopft oder deren Türen einrennt.

 
DariusBrewka   [Benutzer gesperrt]

16.09.2006, 14:39 Uhr

[ - Direktlink - ]
Thema: jpeg's sichern unter OS4?
Brett: Programmierung

ist gemacht, aber gibt TypeOfMem() wirklich nur bei PPC Code MEMF_EXECUTABLE aus?
 
DariusBrewka   [Benutzer gesperrt]

16.09.2006, 13:31 Uhr

[ - Direktlink - ]
Thema: jpeg's sichern unter OS4?
Brett: Programmierung

Zitat:
Original von thomas:
Du solltest nicht die Herkunft prüfen, sondern die Hook-Funktion. Herausfinden, ob es sich um PPC-Code handelt kannst du mit TypeOfMem(adresse) & MEMF_EXECUTABLE (habe ich dir auch per Mail geschrieben).


so habe ich das auch gemeint, schliesslich ist nicht zu erwarten, daß eine PPC Native App einen 68k Hook nutzt, aber man weiß ja nie wenn man alte sources mit ASM code nutzt.
 
DariusBrewka   [Benutzer gesperrt]

16.09.2006, 01:11 Uhr

[ - Direktlink - ]
Thema: jpeg's sichern unter OS4?
Brett: Programmierung

nee, nur mal in sources zu anderen combined-libs geschaut, das mit den Hooks, dafür habe ich nun auch eine Idee, d.h. wenn eine 68k APP den Hook nutzt wird mittels Emulate() dieser aufgerufen, ansonsten Nativ, die Frage nur woher wissen ob der Call von einer 68k App herrührt, schliesslich wird der 68k Libaufruf auf den PPC umgeleitet.

D.h. entweder ein Neues TAG hinzufügen für PPC Hooks, oder in den 68k Stubs ein Flag setzen was den 68k Call erzwingt oder anderswie herausfinden ob der Call von einer 68k App stammt? aber wie?

gruß

Darius
 
DariusBrewka   [Benutzer gesperrt]

15.09.2006, 11:41 Uhr

[ - Direktlink - ]
Thema: jpeg's sichern unter OS4?
Brett: Programmierung

Ist inzw. erledigt, mal sehen ob's läuft.
 
 
1 2 3 4 -5- 6 7 8 9 10 >> Letzte Ergebnisse der Suche: 899 Treffer (30 pro Seite)

Suchbegriffe
Schlüsselwörter      Benutzername
Suchoptionen
Nur in diesen Foren suchen
   nur ganze Wörter
Nur Titel anzeigen
alle Treffer anzeigen

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.