Yeaay, it works. Thanks so much!!

Anw do you have any idea how to print some variable in C to console? I 
tried "printf", but I think node doesn't accept that.

On Friday, July 4, 2014 6:21:27 AM UTC+7, Nathan Rajlich wrote:
>
> Muhammad, your code looks very close to me. Note that I haven't tried this 
> code, but try something like this: 
> https://gist.github.com/TooTallNate/d1f8ee799e9764c0ab18
>
> I've only changed:
>
>  * The "pointer" argument type to "string"
>  * Don't call `free()` on the passed in char *, V8/node will take care of 
> that for us and we don't want a double-free
>
> Let me know if that works for you. Cheers!
>
>
> On Thu, Jul 3, 2014 at 1:36 AM, Muhammad S Maromi <[email protected] 
> <javascript:>> wrote:
>
>> Hi Nathan,  I want to do is, let's say I have object:
>>
>> var obj = {foo:1, bar: 2}
>>
>> then pass that object to ffi function. 
>> What is the parameter of function (in C module) should be?
>>
>>
>> Thanks ryan, let me check what'll it goes.
>>
>>
>> On Thursday, July 3, 2014 4:52:56 AM UTC+7, ryandesign wrote:
>>
>>>
>>> On Jul 1, 2014, at 10:18 PM, Muhammad S Maromi wrote: 
>>>
>>> > I tried the "straightforward" way, but it produces this error: 
>>> > 
>>> > $ node learn.js 
>>> > /Users/msmaromi/learnnode/trenupp/node_modules/ffi/lib/_foreign_function.js:55
>>> >  
>>>
>>> >       throw e 
>>> >             ^ 
>>> > TypeError: error setting argument 0 - writePointer: Buffer instance 
>>> expected as third argument 
>>> >     at Object.writePointer (/Users/msmaromi/learnnode/
>>> trenupp/node_modules/ffi/node_modules/ref/lib/ref.js:740:11) 
>>> >     at Object.set (/Users/msmaromi/learnnode/
>>> trenupp/node_modules/ffi/node_modules/ref/lib/ref.js:482:13) 
>>> >     at Object.alloc (/Users/msmaromi/learnnode/
>>> trenupp/node_modules/ffi/node_modules/ref/lib/ref.js:514:13) 
>>> >     at Object.ForeignFunction.proxy [as tesJson] 
>>> (/Users/msmaromi/learnnode/trenupp/node_modules/ffi/lib/_foreign_function.js:50:22)
>>>  
>>>
>>> >     at Object.<anonymous> 
>>> > (/Users/msmaromi/learnnode/trenupp/learn.js:18:9) 
>>>
>>> >     at Module._compile (module.js:456:26) 
>>> >     at Object.Module._extensions..js (module.js:474:10) 
>>> >     at Module.load (module.js:356:32) 
>>> >     at Function.Module._load (module.js:312:12) 
>>> >     at Function.Module.runMain (module.js:497:10) 
>>>
>>> What do you mean exactly when you say "json object"? Do you mean a 
>>> JavaScript object like this: 
>>>
>>>
>>> var o = {foo: 5}; 
>>>
>>>
>>> Or do you mean a string representation of that object in JavaScript 
>>> object notation (JSON) like this: 
>>>
>>>
>>> var j = '{foo: 5}'; 
>>>
>>>
>>> For the latter, I would think you could pass the buffer representation 
>>> of the string j to an ffi function. That function would need to know how to 
>>> decode JSON-formatted strings. 
>>>
>>> For the former, you would need to convert o to JSON first (e.g. using 
>>> JSON.stringify(o)). 
>>>
>>>  -- 
>> Job board: http://jobs.nodejs.org/
>> New group rules: 
>> https://gist.github.com/othiym23/9886289#file-moderation-policy-md
>> Old group rules: 
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "nodejs" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/nodejs/d1499527-2524-4552-bd14-5465fc1fd894%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/nodejs/d1499527-2524-4552-bd14-5465fc1fd894%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/3a9966af-2580-40d3-8bbe-1749b3e78349%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to