javascript 로 native code 실행 질문입니다.

cococo의 이미지

안녕하십니까. 주말 저녁이 저물어 가는군요. -_-;;

인터넷 찾아보다가, 잘 안 되서 질문 올려 봅니다.

ActiveX나 PhoneGap 이나 BONDI / WAC 같은 걸 보면 Javascript 이외의 함수를 쓸 수 있게 하는 것 같은데요.
그렇게 할 수 있는 방법을 모르겠습니다.

지금 하려는게...예를 들면 실행파일이나, library를 만들어 놓고, javascript 에서 그걸 불러와 사용할 수 있게 하려는 거거든요.
예를 들면 c로

int add( a, b );

라는 함수를 짜거나, 아니면 exe 파일로 만들어서, javascript 에서 add() 를 부르거나 add.exe 를 코드로 실행하고, 인자값을 넘기고 결과를 받도록 하고 싶은데, 개념이 잘 안 서네요.

Internet Explorer 라면 ActiveX 같은 걸로 할 거 같은데, 하려는 건 예를들어
<script language = "javascript">

var t = My_C_Api_ADD( 10, 20 );
alert( t );

</script>

뭐 이런 식으로 쓸 수 있으면 하는 겁니다.

혹시 비슷한 거 해 보셨거나 관련 정보를 가지고 계시는 분이 있으시다면, 언급해 주시면 감사하겠습니다.

그럼, 좋은 밤 되시기 바랍니다.

kaeri17의 이미지

모든 브라우져와 모든 플랫폼에서 적용되는 방법은 없습니다.

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

'JS에서'라는 건 웹 브라우저 환경을 말씀하시는 거겠죠?

구글 크롬에서는 Native Client로 그런 일을 하실 수 있습니다. http://www.chromium.org/nativeclient

cococo의 이미지

kaeri17 님, ditto 님. 답변 감사드립니다.

JS는 말씀하신대로 웹 브라우저 이야기이구요.( JavaScript )

모든 브라우저와 플랫폼...까지 생각한 건 아닌데, IE 의 ActiveX 방법은 해 봐서 조금 알거든요. 근데 그건 object 태그를 include해서 모든 걸 ActiveX안에서 돌아가게 하니까, 라이브러리처럼 웹 화면의 일부로 JavaScript 가 이용하거나 데이터를 교환하는 방식으로는 쓸 수가 없겠더라구요.

즉, 원하는 건 Javascript 가 아닌 언어로, library 를 만들어 놓고, 그걸 javascirpt 에서 데이터 교환을 하려는 거죠.

그래서 PlugIn방식이 가능한 건지 알아보려 했던 거구요.

크롬의 Native Client 방식은 "일반적" 인 방법인가요? 혹은 브라우저마다 다 다른 건가요?

cleansugar의 이미지

모질라 애드온 프로그래밍에서는 자바스크립트로 자바나 파이썬 등을 호출할 수 있죠.

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

dalmagi의 이미지

NPAPI 를 알아보세요.
IE 이외의 모든 브라우저의 플러그인 표준입니다.

화이팅(fighting) 말고 화이트닝(whitening) 하면 안되나요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.