A technique for providing support for multiple calling conventions for methods and procedures that return structures is provided. A source code of a client program may be compiled by either of two compilers, wherein one compiler employs a calling convention that is different from the first one. A binary library containing a procedure and a converter for each procedure returning a structure to a client program, is provided to support two calling conventions. If the client program is compiled by a compiler using a first calling convention, the program is compiled such that it calls the procedure directly and receives a result, a structure, via the first calling convention. Compiling the client program with a compiler using the second conventions results in calls to the procedure being routed to the converter, which calls the associated procedure, using the first calling convention. The converter receives the result from the procedure and returns the result to the client program using the second calling convention. A special modification to the signature of the procedure as it appears in the library source code, combined with the use of macros to generate a companion converter, permit a binary library to be built by a single compiler, such that the library supports the calling conventions for returning structures appropriate to two different compilers.

Une technique pour fournir l'appui pour le multiple appelle des conventions pour des méthodes et des procédures que des structures de retour est fourni. Un code source d'un programme de client peut être compilé par l'un ou l'autre de deux compilateurs, où un compilateur emploie une convention appelante qui est différente du premier. Une bibliothèque binaire contenant un procédé et un convertisseur pour chaque procédé renvoyant une structure à un programme de client, est fournie pour soutenir deux conventions appelantes. Si le programme de client est compilé par un compilateur en utilisant une première convention appelante, le programme est compilé tels qu'il appelle le procédé directement et reçoit un résultat, une structure, par l'intermédiaire de la première convention appelante. La compilation du programme de client avec un compilateur employant les deuxièmes conventions a comme conséquence les appels au procédé étant conduit au convertisseur, qui appelle le procédé associé, en utilisant la première convention appelante. Le convertisseur reçoit le résultat du procédé et renvoie le résultat au programme de client en utilisant la deuxième convention appelante. Une modification spéciale à la signature du procédé pendant qu'elle apparaît dans le code source de bibliothèque, combiné avec l'utilisation des macros de produire d'un convertisseur de compagnon, laiss une bibliothèque binaire d'être construit par un compilateur simple, tel que la bibliothèque soutient les conventions appelantes pour retourner structure approprié à deux compilateurs différents.

 
Web www.patentalert.com

< (none)

< Cosmetic compositions containing polysaccharide/protein complexes

> Hard disk password lock

> (none)

~ 00005