Hi, I have built a DLL with some routines using Intel's FORTRAN. I can use the routines within a R script. I would like to have the list of all the routines in the DLL. I found getDLLRegisteredRoutines but it answers data frame with 0 column and 0 lines. What is wrong ? Thanks in advance Jean -------------- next part -------------- Ce message et toutes les pi?ces jointes (ci-apr?s le 'Message') sont ?tablis ? l'intention exclusive des destinataires et les informations qui y figurent sont strictement confidentielles. Toute utilisation de ce Message non conforme ? sa destination, toute diffusion ou toute publication totale ou partielle, est interdite sauf autorisation expresse. Si vous n'?tes pas le destinataire de ce Message, il vous est interdit de le copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou partie. Si vous avez re?u ce Message par erreur, merci de le supprimer de votre syst?me, ainsi que toutes ses copies, et de n'en garder aucune trace sur quelque support que ce soit. Nous vous remercions ?galement d'en avertir imm?diatement l'exp?diteur par retour du message. Il est impossible de garantir que les communications par messagerie ?lectronique arrivent en temps utile, sont s?curis?es ou d?nu?es de toute erreur ou virus. ____________________________________________________ This message and any attachments (the 'Message') are intended solely for the addressees. The information contained in this Message is confidential. Any use of information contained in this Message not in accord with its purpose, any dissemination or disclosure, either whole or partial, is prohibited except formal approval. If you are not the addressee, you may not copy, forward, disclose or use any part of it. If you have received this message in error, please delete it and all copies from your system and notify the sender immediately by return message. E-mail communication cannot be guaranteed to be timely secure, error or virus-free.
On 25/02/2016 9:42 AM, MAURICE Jean - externe wrote:> Hi, > > I have built a DLL with some routines using Intel's FORTRAN. I can use the routines within a R script. > > I would like to have the list of all the routines in the DLL. I found getDLLRegisteredRoutines but it answers data frame with 0 column and 0 lines. > > What is wrong ?You didn't register them. See section 5.4 in Writing R Extensions for details on how to do that. R doesn't have a function to list all exports from a DLL. There are various external tools to do that. "pedump.exe" and "nm.exe" are included in the Rtools collection. (I usually use pedump; I forget whether nm works on .dll files, or only .so files.) Duncan Murdoch
I tried pedump : it's ok. Now I am going to try to understand section 5.4 ! Thanks Jean -----Message d'origine----- De?: murdoch.duncan at gmail.com [mailto:murdoch.duncan at gmail.com] Envoy??: jeudi 25 f?vrier 2016 16:25 ??: MAURICE Jean - externe; r-help at r-project.org Objet?: Re: [R] getDLLRegisteredRoutines On 25/02/2016 9:42 AM, MAURICE Jean - externe wrote:> Hi, > > I have built a DLL with some routines using Intel's FORTRAN. I can use the routines within a R script. > > I would like to have the list of all the routines in the DLL. I found getDLLRegisteredRoutines but it answers data frame with 0 column and 0 lines. > > What is wrong ?You didn't register them. See section 5.4 in Writing R Extensions for details on how to do that. R doesn't have a function to list all exports from a DLL. There are various external tools to do that. "pedump.exe" and "nm.exe" are included in the Rtools collection. (I usually use pedump; I forget whether nm works on .dll files, or only .so files.) Duncan Murdoch Ce message et toutes les pi?ces jointes (ci-apr?s le 'Message') sont ?tablis ? l'intention exclusive des destinataires et les informations qui y figurent sont strictement confidentielles. Toute utilisation de ce Message non conforme ? sa destination, toute diffusion ou toute publication totale ou partielle, est interdite sauf autorisation expresse. Si vous n'?tes pas le destinataire de ce Message, il vous est interdit de le copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou partie. Si vous avez re?u ce Message par erreur, merci de le supprimer de votre syst?me, ainsi que toutes ses copies, et de n'en garder aucune trace sur quelque support que ce soit. Nous vous remercions ?galement d'en avertir imm?diatement l'exp?diteur par retour du message. Il est impossible de garantir que les communications par messagerie ?lectronique arrivent en temps utile, sont s?curis?es ou d?nu?es de toute erreur ou virus. ____________________________________________________ This message and any attachments (the 'Message') are intended solely for the addressees. The information contained in this Message is confidential. Any use of information contained in this Message not in accord with its purpose, any dissemination or disclosure, either whole or partial, is prohibited except formal approval. If you are not the addressee, you may not copy, forward, disclose or use any part of it. If you have received this message in error, please delete it and all copies from your system and notify the sender immediately by return message. E-mail communication cannot be guaranteed to be timely secure, error or virus-free.
Hi Murdoch, I browsed (read) section 5.4. I have understood that - using PACKAGE= will reduce execution time and it is not a great work (good results for simple work) - R Windows manage a little cache so if I call a routine in a DLL within an R loop, it will be 'fast' - if we have a problem with speed then we can spend some times to registered the routines, but it can be done later, after testing. Am I correct (did I understood well ?) Jean -------------- next part -------------- Ce message et toutes les pi?ces jointes (ci-apr?s le 'Message') sont ?tablis ? l'intention exclusive des destinataires et les informations qui y figurent sont strictement confidentielles. Toute utilisation de ce Message non conforme ? sa destination, toute diffusion ou toute publication totale ou partielle, est interdite sauf autorisation expresse. Si vous n'?tes pas le destinataire de ce Message, il vous est interdit de le copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou partie. Si vous avez re?u ce Message par erreur, merci de le supprimer de votre syst?me, ainsi que toutes ses copies, et de n'en garder aucune trace sur quelque support que ce soit. Nous vous remercions ?galement d'en avertir imm?diatement l'exp?diteur par retour du message. Il est impossible de garantir que les communications par messagerie ?lectronique arrivent en temps utile, sont s?curis?es ou d?nu?es de toute erreur ou virus. ____________________________________________________ This message and any attachments (the 'Message') are intended solely for the addressees. The information contained in this Message is confidential. Any use of information contained in this Message not in accord with its purpose, any dissemination or disclosure, either whole or partial, is prohibited except formal approval. If you are not the addressee, you may not copy, forward, disclose or use any part of it. If you have received this message in error, please delete it and all copies from your system and notify the sender immediately by return message. E-mail communication cannot be guaranteed to be timely secure, error or virus-free.