[Pharo-project] FFI number of arguments

Schwab,Wilhelm K bschwab at anest.ufl.edu
Wed Oct 6 13:24:33 EDT 2010


Miguel,

I do not "need" to make the call.  I am wondering whether I can do so in a way that will benefit others, or I should just say the hell with it and either provide similar functionality a different way or provide the same functionality via a .so of my own creation.  The latter is fine for me but does not do much for anyone else.  

And let's say I make it and the thing seg faults.  How can I tell the difference between a limitation of the plugin or a mistake on my part calling a fairly cumbersome function?  The answer: I can't, not without work that I cannot justify doing when a ready solution exists.

Bill



________________________________________
From: pharo-project-bounces at lists.gforge.inria.fr [pharo-project-bounces at lists.gforge.inria.fr] On Behalf Of Miguel Cobá [miguel.coba at gmail.com]
Sent: Wednesday, October 06, 2010 12:52 PM
To: Pharo-project at lists.gforge.inria.fr
Subject: Re: [Pharo-project] FFI number of arguments

El mié, 06-10-2010 a las 12:33 -0400, Schwab,Wilhelm K escribió:
> Miguel,
>
> I see it very differently: I do extensive searches and summarize the results, dropping keywords along the way that I wish had been present in what I finally uncovered somewhere else.  The Pharo archives are then a more rich resource they than had been.  I happen to know it works, because many of the helpful messages I find are in fact mine.
>
> As for whether I could "easily" make the call in question: give me a break.  It has roughly 20 arguments, and would be a fair amount of work to set up.  If someone else knows one way or the other, it might trigger either a reply along the lines of  "yeah, I did ti with 30 arguments" or "I fell for that, the plugin choked on...."  Restating what I linked from another group is not helpful, nor is telling me how easy it would be to do something that you have never seen.  Did it occur to you that there might be pointer arguments that would be a potential sources of complexity?  You might read what I asked: "have you tried this?"  Not "please do this for me."  It would be wasteful to attempt the call without asking for scouting reports.
>

But in the end if you really need to use that call, either it works or
don't, you'll need to write it, even if someone says that it doesn't
work. Why, because you need it, and if you don't need it then your
question is rhetoric, because you don't even mind the answer.
You can't ask for advise for every and each step you take, most times
you should walk away, _fix_ what you find wrong and then report back the
fix. That would really make the archives more rich because you are
contributing back real knowledge and maybe code and not just polluting
the archives with threads that ask things but solve nothing for anyone
but you.

Cheers


> Bill
>
>
>
> ________________________________________
> From: pharo-project-bounces at lists.gforge.inria.fr [pharo-project-bounces at lists.gforge.inria.fr] On Behalf Of Miguel Cobá [miguel.coba at gmail.com]
> Sent: Wednesday, October 06, 2010 12:13 PM
> To: Pharo-project at lists.gforge.inria.fr
> Subject: Re: [Pharo-project] FFI number of arguments
>
> El mié, 06-10-2010 a las 11:50 -0400, Schwab,Wilhelm K escribió:
> > Levente,
> >
> > What problem do you have with asking whether someone else has already tried it?  Really, have you not seen examples of working hard on advice from one source only to discover yet another limit that was not in fine print?
> >
>
> But Bill, almost all your questions are long and without apparent focus
> on the real point. Some other times are like this, things that you could
> easily test by yourself maybe in less time that takes you to write so
> many words, send the email and wait for a response from someone willing
> to decipher what the real problem is. Other times you point at problems
> that you find in your environment without giving better hints than "in a
> hopefully updated image", "in a, I think, not modified image", "in my
> machine", that doesn't help in helping you.
> Then you point some problems that it appears that are very evident to
> you and whose solution is also very obvious to you but you don't provide
> a fix for them neither, like the always topic of yours about sockets.
>
> Then when someone points and the  obvious things you should do (your
> homework, in verifying yourself what you are asking to the list) or to
> precise the information needed to better answer you, you respond upset
> as if anyone should be obliged to answer you or even read your mails.
>
> So, please, read
>
> http://www.catb.org/esr/faqs/smart-questions.html
>
> do your homework and then ask the list.
>
>
>
>
> >
> >
> >
> > ________________________________________
> > From: pharo-project-bounces at lists.gforge.inria.fr [pharo-project-bounces at lists.gforge.inria.fr] On Behalf Of Levente Uzonyi [leves at elte.hu]
> > Sent: Tuesday, October 05, 2010 11:09 PM
> > To: Pharo-project at lists.gforge.inria.fr
> > Subject: Re: [Pharo-project] FFI number of arguments
> >
> > On Tue, 5 Oct 2010, Schwab,Wilhelm K wrote:
> >
> > > yes, that's what the link describes.  The open question is whether anyone has successfully done that with 15+ arguments?
> >
> > It works up to 128 arguments. But why don't you try it yourself?
> >
> >
> > Levente
> >
> > >
> > >
> > >
> > > ________________________________________
> > > From: pharo-project-bounces at lists.gforge.inria.fr [pharo-project-bounces at lists.gforge.inria.fr] On Behalf Of Levente Uzonyi [leves at elte.hu]
> > > Sent: Tuesday, October 05, 2010 10:26 PM
> > > To: Pharo-project at lists.gforge.inria.fr
> > > Subject: Re: [Pharo-project] FFI number of arguments
> > >
> > > On Tue, 5 Oct 2010, Schwab,Wilhelm K wrote:
> > >
> > >> Hello all,
> > >>
> > >> I have been bumping into some functions with large numbers of arguments.  One in particular would be best handled in the image if at all possible.  The following might be the answer:
> > >>
> > >>   http://thread.gmane.org/gmane.comp.lang.smalltalk.squeak.general/98538/focus=98543
> > >>
> > >> Have any of you done this with >15 (or whatever the cutoff is) arguments?
> > >
> > > You can create your own function object and invoke it with an array.
> > > Here's an fprintf example on windows:
> > >
> > > fprintf := ExternalLibraryFunction
> > >        name: 'fprintf'
> > >        module: 'msvcrt.dll'
> > >        callType: ExternalFunction callTypeCDecl
> > >        returnType: ExternalType signedLong
> > >        argumentTypes: {
> > >                (ExternalType structTypeNamed: #FILE) asPointerType.
> > >                ExternalType string.
> > >                ExternalType signedLong }.
> > > file := Stdio default fopenWith: 'test.txt' with: 'w'.
> > > fprintf invokeWithArguments: { file. 'Your number is %d.'. 42 }.
> > > Stdio default fcloseWith: file.
> > >
> > >
> > > Levente
> > >
> > > P.S.: Note that you need the FILE and Stdio classes to run this example.
> > >
> > >>
> > >> Bill
> > >>
> > >>
> > >> _______________________________________________
> > >> Pharo-project mailing list
> > >> Pharo-project at lists.gforge.inria.fr
> > >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > >>
> > >
> > > _______________________________________________
> > > Pharo-project mailing list
> > > Pharo-project at lists.gforge.inria.fr
> > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > >
> > > _______________________________________________
> > > Pharo-project mailing list
> > > Pharo-project at lists.gforge.inria.fr
> > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> > >
> >
> > _______________________________________________
> > Pharo-project mailing list
> > Pharo-project at lists.gforge.inria.fr
> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> >
> > _______________________________________________
> > Pharo-project mailing list
> > Pharo-project at lists.gforge.inria.fr
> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> --
> Miguel Cobá
> http://miguel.leugim.com.mx
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

--
Miguel Cobá
http://miguel.leugim.com.mx


_______________________________________________
Pharo-project mailing list
Pharo-project at lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project




More information about the Pharo-dev mailing list