Calling convention (original) (raw)
اصطلاح الاستدعاء (بالإنجليزية: Calling convention) في علوم الكمبيوتر، هو مخطط مستوى التنفيذ (منخفض المستوى) لكيفية تلقي الوظائف الفرعية للمعلمات من المستدعي وكيفية إرجاع النتائج. الاختلافات في التطبيقات المختلفة تتضمن معلمات (حيث) وقيم الإرجاع وعناوين الإرجاع وارتباطات المكونات. كما تتضمن الكيفية التي يتم بها تقسيم مهام تحضير الاستدعاء لدالة ما واستعادة البيئة بعد ذلك بين المستدعي والوجهة. قد يكون اصطلاح الاستدعاء مرتبطا باستراتيجية تقييم لغة برمجة معينة، ولكن وفي معظم الأحيان لا يعتبر جزءا منه (و العكس بالعكس)، كما يتم تعريف إستراتيجية التقييم عادة على مستوى تجريدي أعلى وينظر إليها على أنه جزء من اللغة وليست مجرد تفصيل تنفيذ منخفض المستوى للمحول البرمجي للغة معينة.
Property | Value |
---|---|
dbo:abstract | Volací konvence je v informatice schéma, jak funkce přijímá parametry a jak vrací výsledek. Různé programovací jazyky používají různé volací konvence a podobně se mohou lišit i platformy (mikroarchitektura + operační systém). To někdy způsobuje problémy při kombinaci modulů napsaných v různých programovacích jazycích, nebo při volání operačního systému nebo API knihoven z jiného jazyka, než ve kterém jsou napsány. V těchto případech je třeba se postarat o koordinaci volacích konvencí mezi volajícím a volaným. I program napsaný v jednom programovacím jazyce může používat různé volací konvence (zvolené překladačem pro optimalizaci nebo vybrané programátorem). Architektury mají téměř vždy více než jeden možný způsob volací konvence. S širokým využitím registrů a dalších funkcí je množství volacích konvencí větší. Navzdory tomu mají některé architektury návrhářem specifikovanou pouze jednu konvenci. (cs) اصطلاح الاستدعاء (بالإنجليزية: Calling convention) في علوم الكمبيوتر، هو مخطط مستوى التنفيذ (منخفض المستوى) لكيفية تلقي الوظائف الفرعية للمعلمات من المستدعي وكيفية إرجاع النتائج. الاختلافات في التطبيقات المختلفة تتضمن معلمات (حيث) وقيم الإرجاع وعناوين الإرجاع وارتباطات المكونات. كما تتضمن الكيفية التي يتم بها تقسيم مهام تحضير الاستدعاء لدالة ما واستعادة البيئة بعد ذلك بين المستدعي والوجهة. قد يكون اصطلاح الاستدعاء مرتبطا باستراتيجية تقييم لغة برمجة معينة، ولكن وفي معظم الأحيان لا يعتبر جزءا منه (و العكس بالعكس)، كما يتم تعريف إستراتيجية التقييم عادة على مستوى تجريدي أعلى وينظر إليها على أنه جزء من اللغة وليست مجرد تفصيل تنفيذ منخفض المستوى للمحول البرمجي للغة معينة. (ar) Unter Aufrufkonvention (englisch calling convention) versteht man die Methode, mit der in Computerprogrammen einem Unterprogramm Daten übergeben werden. In der Regel liegt es am Compiler, welche Konvention zum Einsatz kommt, so dass der Programmierer sich nicht damit beschäftigen muss. Bei der Entwicklung von Software in mehreren Sprachen ist es jedoch erforderlich, dass alle Module kompatible Aufrufkonventionen verwenden. (de) In computer science, a calling convention is an implementation-level (low-level) scheme for how subroutines receive parameters from their caller and how they return a result. Differences in various implementations include where parameters, return values, return addresses and scope links are placed (registers, stack or memory etc.), and how the tasks of preparing for a function call and restoring the environment afterwards are divided between the caller and the callee. Calling conventions may be related to a particular programming language's evaluation strategy, but most often are not considered part of it (or vice versa), as the evaluation strategy is usually defined on a higher abstraction level and seen as a part of the language rather than as a low-level implementation detail of a particular language's compiler. (en) En ciencias de la computación, la convención de llamadas a funciones es un esquema de implementación de bajo nivel para determinar la manera en que las subrutinas reciben parámetros de su "llamador" y devuelven un resultado. Entre las diferencias que existen entre las diferentes implementaciones se encuentran el lugar donde los parámetros, valores de retorno, direcciones de retorno y "scope links" son colocados, así como la distribución de procesos (a la hora de llamar a una función), entre la subrutina "llamante" y la "llamada", y la posterior restauración del entorno tras la ejecución de la misma. La convención de llamadas a funciones puede ser relacionada con la estrategia de evaluación de un lenguaje de programación particular, pero a menudo no es considerada como parte de la misma ya que, normalmente, la estrategia de evaluación es definida en un nivel de abstracción superior, y vista como parte del mismo lenguaje de programación, en vez de una implementación de bajo nivel de un compilador particular. (es) 호출 규약(영어: calling convention)은 컴퓨터 과학에서 어떻게 서브루틴이 그들의 호출자(caller)로부터 변수를 받고, 어떻게 결과를 반환하는지에 대한 규약이다. 프로그래밍 언어마다 각기 다른 호출 규약을 사용하며 각기 다른 플랫폼에서도 마찬가지이다. (CPU 아키텍처 + 운영 체제) 이는 여러 언어에서 작성한 모듈을 병합할 때, 또는 작성 장소가 다른 언어의 운영 체제 및 라이브러리 API를 호출할 때 문제를 일으킬 수도 있다. 이러한 경우 호출자(caller)와 피호출자(callee)가 사용하는 호출 규약을 조율하는데 특별한 관심을 가져야 한다. 단일 프로그래밍 언어를 사용하는 프로그램일지라도 여러 개의 호출 규약을 사용할 수도 있고, 코드 최적화를 위해 컴파일러가 선택하거나 프로그래머가 지정하는 경우도 있다. (ko) 呼出規約(よびだしきやく)ないし呼出慣例(よびだしかんれい)(英: calling convention)は、コンピュータの命令セットアーキテクチャごとに取り決められるABIの一部で、サブルーチンが呼出される際に従わねばならない制限などの標準である。名前修飾について、データを渡す「実引数」、戻るべきアドレスである「リターンアドレス」、データを戻す「返戻値」などを、スタックなどに対してどのように格納するのか、また各レジスタを、呼び出し側とサブルーチンのどちらの側が保存するか、等といった取決めの集まりである。言語が同じでも、分割コンパイルされリンカでリンクされる相互のプロシージャ間では、呼出し呼出されるならば同一の呼出規約に従っていなければならない。一方で、違う言語の間でも、同一の呼出規約を経由して相互にプロシージャを呼出すこともできる。 (ja) Em ciência da computação, convenção de chamadas de função é um esquema o qual as funções de um programa recebem parâmetros das funções chamadoras e como elas retornam um resultado.Essas convenções diferem de acordo com as linguagens de programação, os sistemas operacionais e CPUs. Essa diversidade de ambientes causam problemas na execução e comunicação de programas de diferentes linguagens, sistemas operacionais e processadores. Compiladores de linguagens de alto nível como C/C++, Pascal ou Java, usam essas convenções para permitir chamadas de função. Nas linguagens de alto nível, o esquema de chamadas é transparente ao programador. O compilador contudo é responsável pela criação do código de máquina para cada função que o programador chama dentro do seu programa.Essa implementação também pode ser feita pelo programador em linguagem de montagem (assembly). Os processadores normalmente possuem mais de uma convenção de chamada de função. (pt) В програмуванні, погодження виклику або угода про виклики це схема за якою підпрограми отримують параметри від викликових підпрограм і як вони повертають результат і управління, погодження викликів можуть різнитися: * місцем розташування параметрів і значень до повернення (в регістрах; у стеку; в обох) * порядком в якому передаються параметри (або частини одного параметра) * розподілом завдань з встановлення і очистки після виклику підпрограми між викликальною і викликаною підпрограмами * регістри які може прямо використовувати викликана підпрограма також іноді різняться Різні мови програмування використовують різні погодження викликів і, таким чином, можуть виконуватися на різних платформах. Іноді це призводить до проблем коли спільно використовуються модулі написані із використанням різних мов, або коли викликається операційна система чи API з мови відмінної від тої на якій вона/він написаний. Навіть програма, яка використовує одну мову програмування може використати декілька погоджень викликів, або вибраних компілятором з метою оптимізації, або вказаних програмістом. Архітектури майже завжди мають більш ніж одне можливе погодження викликів. З багатьма регістрами загального призначення та іншими можливостями, можлива кількість погоджень викликів досить велика, хоча деякі архітектури надають можливість використовувати лише одне погодження викликів. (uk) 在计算机科学中,调用约定是一种定义子过程从调用处接受参数以及返回结果的方法的约定。不同调用约定的区别在于: * 参数和返回值放置的位置(在寄存器中;在调用栈中;两者混合) * 参数传递的顺序(或者单个参数不同部分的顺序) * 调用前设置和调用后清理的工作,在调用者和被调用者之间如何分配 * 被调用者可以直接使用哪一个寄存器有时也包括在内。(否则的话被当成ABI的细节) * 哪一个寄存器被当作volatile的或者非volatile的,并且如果是volatile的,不需要被调用者恢复 (zh) Соглашение о вызове (англ. calling convention) — описание технических особенностей вызова подпрограмм, определяющее: * способы передачи параметров подпрограммам; * способы вызова (передачи управления) подпрограмм; * способы передачи результатов вычислений, выполненных подпрограммами, в точку вызова; * способы возврата (передачи управления) из подпрограмм в точку вызова. Является частью двоичного интерфейса приложений (англ. application binary interface, ABI). (ru) |
dbo:wikiPageExternalLink | http://documentation.renesas.com/eng/products/tool/rej10b0152_sh.pdf http://www.bravegnu.org/gnu-eprog/c-startup.html https://web.archive.org/web/20141105000036/http:/www.kpitgnutools.com/manuals/SH-ABI-Specification.html http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042e/IHI0042E_aapcs.pdf http://www.ibm.com/developerworks/library/l-ppc/ https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/LowLevelABI/000-Introduction/introduction.html https://www.bell-labs.com/usr/dmr/www/clcs.html http://msdn.microsoft.com/fr-fr/library/ms253572.aspx |
dbo:wikiPageID | 1795571 (xsd:integer) |
dbo:wikiPageLength | 29458 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1120063333 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:PowerPC dbr:Power_ISA dbr:Processor_register dbr:Memory_address dbr:Bell_Laboratories dbr:Application_binary_interface dbr:Register_window dbr:Unix dbr:Unix_System_V dbr:Dope_vector dbr:GNU_compiler_collection dbr:Compiler dbr:SPARC dbr:SWIG dbr:Function_prologue dbr:Motorola_68000_series dbr:Name_mangling dbr:Computing_platform dbr:Continuation-passing_style dbr:X32_ABI dbr:Application_programming_interface dbr:Call_stack dbr:Subroutine dbr:Computer_memory dbr:Computer_science dbr:Z/Architecture dbr:Parameter_(computer_programming) dbr:Tail_call_optimization dbr:CDC_6600 dbc:Subroutines dbr:Data_descriptor dbr:Data_structure dbr:Language_binding dbr:Link_register dbr:ARM_architecture dbr:31-bit_computing dbr:Nintendo_64 dbr:PDP-8 dbr:PL/I dbr:Foreign_function_interface dbr:Return_statement dbr:Assembly_language dbr:AArch64 dbr:API dbr:IBM_1130 dbr:IBM_System/360 dbr:Metadata dbr:OS/360_and_successors dbr:RISC-V dbr:Recursion_(computer_science) dbr:Reentrancy_(computing) dbr:X86_architecture dbr:Scope_(computer_science) dbr:Comparison_of_application_virtual_machines dbr:IBM_POWER_architecture dbr:Programming_language dbr:Spaghetti_stack dbr:Evaluation_strategy dbr:Programming_language_implementation dbr:Variadic_function dbr:RISC dbr:Function_epilogue dbr:System/390 dbr:System_V |
dbp:wikiPageUsesTemplate | dbt:Cite_web dbt:Code dbt:Div_col dbt:Div_col_end dbt:Main dbt:More_citations_needed dbt:Portal dbt:Reflist dbt:Short_description dbt:Unreferenced_section dbt:Which dbt:Wikibooks dbt:Mdashb dbt:Application_binary_interface |
dcterms:subject | dbc:Subroutines |
gold:hypernym | dbr:Scheme |
rdf:type | yago:WikicatSubroutines yago:Abstraction100002137 yago:Code106355894 yago:CodingSystem106353757 yago:Communication100033020 yago:Writing106359877 yago:WrittenCommunication106349220 dbo:Organisation yago:Routine106582403 yago:Software106566077 |
rdfs:comment | اصطلاح الاستدعاء (بالإنجليزية: Calling convention) في علوم الكمبيوتر، هو مخطط مستوى التنفيذ (منخفض المستوى) لكيفية تلقي الوظائف الفرعية للمعلمات من المستدعي وكيفية إرجاع النتائج. الاختلافات في التطبيقات المختلفة تتضمن معلمات (حيث) وقيم الإرجاع وعناوين الإرجاع وارتباطات المكونات. كما تتضمن الكيفية التي يتم بها تقسيم مهام تحضير الاستدعاء لدالة ما واستعادة البيئة بعد ذلك بين المستدعي والوجهة. قد يكون اصطلاح الاستدعاء مرتبطا باستراتيجية تقييم لغة برمجة معينة، ولكن وفي معظم الأحيان لا يعتبر جزءا منه (و العكس بالعكس)، كما يتم تعريف إستراتيجية التقييم عادة على مستوى تجريدي أعلى وينظر إليها على أنه جزء من اللغة وليست مجرد تفصيل تنفيذ منخفض المستوى للمحول البرمجي للغة معينة. (ar) Unter Aufrufkonvention (englisch calling convention) versteht man die Methode, mit der in Computerprogrammen einem Unterprogramm Daten übergeben werden. In der Regel liegt es am Compiler, welche Konvention zum Einsatz kommt, so dass der Programmierer sich nicht damit beschäftigen muss. Bei der Entwicklung von Software in mehreren Sprachen ist es jedoch erforderlich, dass alle Module kompatible Aufrufkonventionen verwenden. (de) 호출 규약(영어: calling convention)은 컴퓨터 과학에서 어떻게 서브루틴이 그들의 호출자(caller)로부터 변수를 받고, 어떻게 결과를 반환하는지에 대한 규약이다. 프로그래밍 언어마다 각기 다른 호출 규약을 사용하며 각기 다른 플랫폼에서도 마찬가지이다. (CPU 아키텍처 + 운영 체제) 이는 여러 언어에서 작성한 모듈을 병합할 때, 또는 작성 장소가 다른 언어의 운영 체제 및 라이브러리 API를 호출할 때 문제를 일으킬 수도 있다. 이러한 경우 호출자(caller)와 피호출자(callee)가 사용하는 호출 규약을 조율하는데 특별한 관심을 가져야 한다. 단일 프로그래밍 언어를 사용하는 프로그램일지라도 여러 개의 호출 규약을 사용할 수도 있고, 코드 최적화를 위해 컴파일러가 선택하거나 프로그래머가 지정하는 경우도 있다. (ko) 呼出規約(よびだしきやく)ないし呼出慣例(よびだしかんれい)(英: calling convention)は、コンピュータの命令セットアーキテクチャごとに取り決められるABIの一部で、サブルーチンが呼出される際に従わねばならない制限などの標準である。名前修飾について、データを渡す「実引数」、戻るべきアドレスである「リターンアドレス」、データを戻す「返戻値」などを、スタックなどに対してどのように格納するのか、また各レジスタを、呼び出し側とサブルーチンのどちらの側が保存するか、等といった取決めの集まりである。言語が同じでも、分割コンパイルされリンカでリンクされる相互のプロシージャ間では、呼出し呼出されるならば同一の呼出規約に従っていなければならない。一方で、違う言語の間でも、同一の呼出規約を経由して相互にプロシージャを呼出すこともできる。 (ja) 在计算机科学中,调用约定是一种定义子过程从调用处接受参数以及返回结果的方法的约定。不同调用约定的区别在于: * 参数和返回值放置的位置(在寄存器中;在调用栈中;两者混合) * 参数传递的顺序(或者单个参数不同部分的顺序) * 调用前设置和调用后清理的工作,在调用者和被调用者之间如何分配 * 被调用者可以直接使用哪一个寄存器有时也包括在内。(否则的话被当成ABI的细节) * 哪一个寄存器被当作volatile的或者非volatile的,并且如果是volatile的,不需要被调用者恢复 (zh) Соглашение о вызове (англ. calling convention) — описание технических особенностей вызова подпрограмм, определяющее: * способы передачи параметров подпрограммам; * способы вызова (передачи управления) подпрограмм; * способы передачи результатов вычислений, выполненных подпрограммами, в точку вызова; * способы возврата (передачи управления) из подпрограмм в точку вызова. Является частью двоичного интерфейса приложений (англ. application binary interface, ABI). (ru) Volací konvence je v informatice schéma, jak funkce přijímá parametry a jak vrací výsledek. Různé programovací jazyky používají různé volací konvence a podobně se mohou lišit i platformy (mikroarchitektura + operační systém). To někdy způsobuje problémy při kombinaci modulů napsaných v různých programovacích jazycích, nebo při volání operačního systému nebo API knihoven z jiného jazyka, než ve kterém jsou napsány. V těchto případech je třeba se postarat o koordinaci volacích konvencí mezi volajícím a volaným. I program napsaný v jednom programovacím jazyce může používat různé volací konvence (zvolené překladačem pro optimalizaci nebo vybrané programátorem). (cs) In computer science, a calling convention is an implementation-level (low-level) scheme for how subroutines receive parameters from their caller and how they return a result. Differences in various implementations include where parameters, return values, return addresses and scope links are placed (registers, stack or memory etc.), and how the tasks of preparing for a function call and restoring the environment afterwards are divided between the caller and the callee. (en) En ciencias de la computación, la convención de llamadas a funciones es un esquema de implementación de bajo nivel para determinar la manera en que las subrutinas reciben parámetros de su "llamador" y devuelven un resultado. Entre las diferencias que existen entre las diferentes implementaciones se encuentran el lugar donde los parámetros, valores de retorno, direcciones de retorno y "scope links" son colocados, así como la distribución de procesos (a la hora de llamar a una función), entre la subrutina "llamante" y la "llamada", y la posterior restauración del entorno tras la ejecución de la misma. (es) Em ciência da computação, convenção de chamadas de função é um esquema o qual as funções de um programa recebem parâmetros das funções chamadoras e como elas retornam um resultado.Essas convenções diferem de acordo com as linguagens de programação, os sistemas operacionais e CPUs. Essa diversidade de ambientes causam problemas na execução e comunicação de programas de diferentes linguagens, sistemas operacionais e processadores. Os processadores normalmente possuem mais de uma convenção de chamada de função. (pt) В програмуванні, погодження виклику або угода про виклики це схема за якою підпрограми отримують параметри від викликових підпрограм і як вони повертають результат і управління, погодження викликів можуть різнитися: * місцем розташування параметрів і значень до повернення (в регістрах; у стеку; в обох) * порядком в якому передаються параметри (або частини одного параметра) * розподілом завдань з встановлення і очистки після виклику підпрограми між викликальною і викликаною підпрограмами * регістри які може прямо використовувати викликана підпрограма також іноді різняться (uk) |
rdfs:label | اصطلاح الاستدعاء (ar) Volací konvence (cs) Aufrufkonvention (de) Convención de llamada a función (es) Calling convention (en) 호출 규약 (ko) 呼出規約 (ja) Convenção de chamada de funções (pt) Соглашение о вызове (ru) Погодження викликів (uk) 调用约定 (zh) |
owl:sameAs | freebase:Calling convention yago-res:Calling convention wikidata:Calling convention dbpedia-ar:Calling convention dbpedia-bg:Calling convention dbpedia-cs:Calling convention dbpedia-de:Calling convention dbpedia-es:Calling convention dbpedia-fa:Calling convention dbpedia-fi:Calling convention dbpedia-ja:Calling convention dbpedia-ko:Calling convention dbpedia-pt:Calling convention dbpedia-ru:Calling convention dbpedia-uk:Calling convention dbpedia-zh:Calling convention https://global.dbpedia.org/id/4vWQ6 |
prov:wasDerivedFrom | wikipedia-en:Calling_convention?oldid=1120063333&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Calling_convention |
is dbo:wikiPageRedirects of | dbr:Calling_conventions |
is dbo:wikiPageWikiLink of | dbr:Processor_register dbr:Message_passing dbr:Windows_API dbr:Application_binary_interface dbr:Return-oriented_programming dbr:V850 dbr:Inline_assembler dbr:Intel_8086 dbr:Jakarta_Enterprise_Beans dbr:Register_allocation dbr:Common_Object_Request_Broker_Architecture dbr:Comparison_of_programming_paradigms dbr:Compatibility_of_C_and_C++ dbr:Component_Object_Model dbr:SWIG dbr:Function_(computer_programming) dbr:GNU_Compiler_Collection dbr:Motorola_68000 dbr:Name_mangling dbr:Cross_compiler dbr:Libffi dbr:Low-level_programming_language dbr:Call_stack dbr:Stack_(abstract_data_type) dbr:Comparison_of_application_virtualization_software dbr:Function_prologue_and_epilogue dbr:Parameter_(computer_programming) dbr:Portable_Executable dbr:Portable_object_(computing) dbr:Strict_function dbr:Trampoline_(computing) dbr:Language_binding dbr:X86_assembly_language dbr:Web_Server_Gateway_Interface dbr:Foreign_function_interface dbr:Fork_(system_call) dbr:API dbr:Heterogeneous_computing dbr:Hooking dbr:Jazelle dbr:Stack_trace dbr:Thunk dbr:Threaded_code dbr:BIOS_interrupt_call dbr:Borland_Kylix dbr:X86_calling_conventions dbr:System_call dbr:Runtime_system dbr:I386 dbr:Thread-local_storage dbr:Strictness_analysis dbr:Sun_RPC dbr:Evaluation_strategy dbr:NEC_V60 dbr:Calling_conventions |
is foaf:primaryTopic of | wikipedia-en:Calling_convention |