Re: Using assembly in objective-c
Re: Using assembly in objective-c
- Subject: Re: Using assembly in objective-c
- From: Andrew Farmer <email@hidden>
- Date: Mon, 21 Jan 2008 16:35:17 -0800
On 21 Jan 08, at 16:26, Twisted Theory Software wrote:
On 21 Jan, 2008, at 5:00 PM, Andrew Farmer wrote:
On 21 Jan 08, at 12:46, Twisted Theory Software wrote:
On 21 Jan, 2008, at 2:38 PM, Kyle Sluder wrote:
You can turn the clock off in the Date and Time preference pane
(the one provided by Apple). I have never had a problem when this
is off. By 'replace' I mean "turn off and run another program
that does something similar".
But, we're getting side-tracked. Can I somehow run that assembly
from objective-c?
For the sake of brevity, I'll give a general answer. [Insert a
bunch of dire warnings about using private frameworks here.] A C(*)
function called xyzzy() will generate a symbol named _xyzzy. It can
be called by simply declaring and calling a function called
xyzzy(); no wrapper (or assembly!) is necessary.
*: C++ throws a monkey wrench into the works with function
"mangling" (to disambiguate overloaded functions). In most cases,
however, C++ library functions will either be called from other C+
+, or will have pure-C wrappers.
Yes, but you still have to link against some library containing
xyzzy(). For the function I'm after is located in
HIServices.framework, but linking against
ApplicationServices.framework, its umbrella, results in a symbol not
found error. This worked before, on Tiger, when they were seperate
frameworks.
What I'm asking is can I use the assembly from the HIServices
library (the binary file) in a function. If so, how?
Not in any practical fashion. In all likelihood, the function you're
interested in calls other functions in the library, or refers to
global data. Trying to extract this is a fast path to madness (as well
as lawsuits for redistributing Apple's code without permission). You
may have better luck using dlsym().
(Obligatory footnote: Or finding some way to do this without linking
to private frameworks.)
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden