Título: | A STUDY N APIS FOR SCRIPTING LANGUAGES | ||||||||||||||||||||||||||||||||||||
Autor: |
HISHAM HASHEM MUHAMMAD |
||||||||||||||||||||||||||||||||||||
Colaborador(es): |
ROBERTO IERUSALIMSCHY - Orientador |
||||||||||||||||||||||||||||||||||||
Catalogação: | 26/JAN/2007 | Língua(s): | PORTUGUESE - BRAZIL |
||||||||||||||||||||||||||||||||||
Tipo: | TEXT | Subtipo: | THESIS | ||||||||||||||||||||||||||||||||||
Notas: |
[pt] Todos os dados constantes dos documentos são de inteira responsabilidade de seus autores. Os dados utilizados nas descrições dos documentos estão em conformidade com os sistemas da administração da PUC-Rio. [en] All data contained in the documents are the sole responsibility of the authors. The data used in the descriptions of the documents are in conformity with the systems of the administration of PUC-Rio. |
||||||||||||||||||||||||||||||||||||
Referência(s): |
[pt] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=9497&idi=1 [en] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=9497&idi=2 |
||||||||||||||||||||||||||||||||||||
DOI: | https://doi.org/10.17771/PUCRio.acad.9497 | ||||||||||||||||||||||||||||||||||||
Resumo: | |||||||||||||||||||||||||||||||||||||
Applications written in two programming languages, in
order to optimize
parts where performance is critical or to obtain
extensibility through userwritten
scripts, are commonplace nowadays. There are several ways
to
obtain this kind of interoperability; ideally, however, a
language should
provide a foreign language interface (FLI), allowing the
programmer to send
and receive both data and function calls to the external
language.
This work discusses the main issues involving the design
of APIs for the
integration of language environments within C
applications. We present the
main problems faced in the interaction between code
executed in an environment
with inherently dynamic characteristics such as a
scripting language
and C code. We compare the approaches employed by five
languages when
handling communication between the data spaces of C and
the embedded
runtime environment and the consequences of these
approaches in memory
management, as well as sharing of code between the C
application and that
from the scripting language.
We illustrate the differences of the APIs of those
languages and their impact
in the resulting code of a C application through a case
study. Different
scripting languages were embedded as plugins for a
library, which on its turn
exposes to client applications a generic scripting API.
This way, the code of
each plugin allows us to observe in a clear and isolated
way the procedures
adopted by each language for function calls, registration
of C functions and
conversion of data between the environments.
|
|||||||||||||||||||||||||||||||||||||
|