João, I'd love to see your example. Even with light documentation, I think I could follow along. But from yours and everyone else's comments, it sounds like there really isn't too easy a way out here, that I should just break down and spend a few days/weeks playing around.
Thanks for your detailed comments Isaiah, they are really helpful as well to get me started. On Friday, August 15, 2014 2:15:46 PM UTC-4, João Felipe Santos wrote: > > I once wrote a simple example of how to write and compile C code as a > shared library and call from Julia using ccall. I could share it if you are > interested, although it has no documentation at all at the moment besides a > couple of comments. > > Main things you have to know from C are types, structs, arrays and > pointers, passing arguments to functions by value and by reference, and the > basics of memory allocation (this is almost the whole language, excluding > standard libraries and quirkier parts of C99). > > Regarding the shared library part, you could probably live only knowing it > is a way of exporting symbols from a binary file (.so on Linux, .dll on > Windows, .dylib on OS X) in a way other programs can use them. > > I may have simplified or overcomplicated things, but I think these are the > basic concepts one would need to write code that uses a shared library. > > -- > João Felipe Santos > > > On Fri, Aug 15, 2014 at 1:15 PM, Randy Zwitch <[email protected] > <javascript:>> wrote: > >> I know the standard recommendation of K&R for people who want to learn C. >> But what would people's recommendations be to learn *just enough* C to be >> comfortable using C libraries from within Julia? For example, the manual >> states: >> >> "The code to be called must be available as a shared library. Most C and >> Fortran libraries ship compiled as shared libraries already... " >> >> Having done almost nothing in C, this statement doesn't help me a whole >> lot, since I don't know what a shared library is. For instance, I've come >> across a few .h files as open-source projects, but I think the above >> statement is referring to .so files? >> >> So any recommendations how can I get enough knowledge about C to use >> ccall if I desire, without taking a ton of time away from Julia? I also >> know Python and R as a frame of reference. >> > >
