Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്ന swipl-ld കമാൻഡ് ഇതാണ്.
പട്ടിക:
NAME
swipl-ld - ഒരു SWI-Prolog ഉൾച്ചേർത്ത എക്സിക്യൂട്ടബിൾ സൃഷ്ടിക്കുക
സിനോപ്സിസ്
swipl-ld ഓപ്ഷനുകൾ സി-ഫയലുകൾ ഒ-ഫയലുകൾ pl-ഫയലുകൾ
വിവരണം
യൂട്ടിലിറ്റി swipl-ld ഒരു സ്റ്റാൻഡ്-എലോൺ സൃഷ്ടിക്കുന്നതിനുള്ള സി-കംപൈലറിനും ലിങ്കറിനും ഒരു ഫ്രണ്ട്-എൻഡ് ആണ്
C/C++, Prolog ഇൻപുട്ട് ഫയലുകളുടെ ഒരു ശ്രേണിയിൽ നിന്ന് എക്സിക്യൂട്ടബിൾ. എന്നതിൽ നിന്ന് വിവരങ്ങൾ വേർതിരിച്ചെടുക്കുന്നു
SWI-Prolog എക്സിക്യൂട്ടബിൾ സ്വിപ്പ്, അതിനുശേഷം അത് ആർഗ്യുമെന്റുകൾ സ്കാൻ ചെയ്യുകയും അവയെ തകർക്കുകയും ചെയ്യുന്നു
നിരവധി വിഭാഗങ്ങൾ. തുടർന്ന് ഒരു എക്സിക്യൂട്ടബിൾ ഉണ്ടാക്കാൻ സി-കംപൈലറിനെ വിളിക്കുന്നു
ഉപയോക്താവിന്റെ സി-കോഡും SWI-Prolog കേർണലും. ഇതിനുശേഷം, അത് വികസനം വിളിക്കും
പ്രോലോഗ് ഫയലുകളിൽ നിന്ന് ഒരു പ്രോലോഗ് സംരക്ഷിച്ച അവസ്ഥ സൃഷ്ടിക്കുന്നതിനുള്ള പരിസ്ഥിതി, ഒടുവിൽ അത് ചെയ്യും
എമുലേറ്ററിലേക്ക് അവസ്ഥ സംയോജിപ്പിച്ച് എക്സിക്യൂട്ടബിൾ ടാർഗെറ്റ് സൃഷ്ടിക്കുക. ഇതും കാണുക
qsave_program/2 അതില് നിന്ന് SWI-പ്രോലോഗ് മാനുവൽ.
ഓപ്ഷനുകൾ
-pl പ്രോലോഗ്
ഉപയോഗിക്കേണ്ട പ്രോലോഗ് പതിപ്പ് വ്യക്തമാക്കുന്നു. സ്ഥിരസ്ഥിതിയാണ് swipl. ഈ പതാക ഉപയോഗിക്കാം
നിങ്ങളുടെ സിസ്റ്റത്തിൽ ഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്ന വ്യത്യസ്ത പതിപ്പുകൾ തിരഞ്ഞെടുക്കുന്നതിന്, അല്ലെങ്കിൽ എ
പരിഷ്കരിച്ച പതിപ്പ്. പരിഷ്ക്കരിച്ച പതിപ്പ് ഫ്ലാഗുകളെ മനസ്സിലാക്കണം -ഡമ്പ്-റൺടൈം-
വേരിയബിളുകൾ -f ഫയല് -F ഫയല് -g ലക്ഷ്യം -t ടോപ്ലെവൽ.
-ഹെൽപ്പ് ചുരുക്കത്തിൽ ഓപ്ഷനുകൾ കാണിക്കുന്നു
-നോസ്റ്റേറ്റ്
കേർണൽ വീണ്ടും ലിങ്ക് ചെയ്യുന്നു. പുതുതായി ലിങ്ക് ചെയ്തിരിക്കുന്ന കേർണലിന് സാന്നിധ്യത്തിൽ മാത്രമേ പ്രവർത്തിക്കാൻ കഴിയൂ
വികസന സംവിധാനത്തിന്റെ. വിതരണം ചെയ്ത പ്രോലോഗ് സോഴ്സ് ഫയലുകളെല്ലാം അവഗണിക്കപ്പെടുന്നു, അതുപോലെ തന്നെ
ഓപ്ഷനുകൾ -ലക്ഷ്യം - ടോപ്ലെവൽ -ഇനിറ്റ്ഫയൽ. -ച്ലഷ് ഇത് അറ്റാച്ചുചെയ്യാനുള്ള മുൻഗണനാ മാർഗമാണ്
നിങ്ങളുടെ സിസ്റ്റത്തിൽ ഡൈനാമിക് ലോഡിംഗ് പിന്തുണയ്ക്കുന്നില്ലെങ്കിൽ പ്രോലോഗ് ചെയ്യുന്നതിനുള്ള ബാഹ്യ മൊഡ്യൂളുകൾ.
-c സി അല്ലെങ്കിൽ സി++ സോഴ്സ്-ഫയലുകൾ ഒബ്ജക്റ്റ് ഫയലുകളിലേക്ക് കംപൈൽ ചെയ്യുക. ഇത് തിരിയുന്നു swipl-ld ഒരു
C അല്ലെങ്കിൽ C++ കംപൈലറിനു പകരം വയ്ക്കുന്നത്, ലൊക്കേഷൻ പോലുള്ള ശരിയായ ഓപ്ഷനുകൾ
ഉൾപ്പെടുത്തിയ ഡയറക്ടറി സ്വയമേവ കമ്പൈലറിലേക്ക് കൈമാറുന്നു.
-E സി പ്രീപ്രൊസസ്സർ വിളിക്കുക. ഉണ്ടാക്കാൻ ഉപയോഗിച്ചു swipl-ld C അല്ലെങ്കിൽ C++ ന് പകരമായി
കംപൈലർ.
- പങ്കിട്ടു
C, C++ അല്ലെങ്കിൽ ഒബ്ജക്റ്റ് ഫയലുകൾ ഒരു പങ്കിട്ട ഒബ്ജക്റ്റിലേക്ക് (DLL) ലിങ്ക് ചെയ്യുക, അത് ലോഡ് ചെയ്യാൻ കഴിയും
load_foreign_library/1 പ്രവചിക്കുക. ഉപയോഗിച്ചാൽ -c ഇത് ശരിയായ ഓപ്ഷനുകൾ സജ്ജമാക്കുന്നു
പങ്കിട്ട ഒബ്ജക്റ്റിലേക്ക് ലിങ്കുചെയ്യാൻ തയ്യാറായ ഒരു C അല്ലെങ്കിൽ C++ ഫയൽ കംപൈൽ ചെയ്യുക.
-ഉൾച്ചേർത്ത്-പങ്കിട്ടത്
SWI-Prolog ഒരു DLL/പങ്കിട്ട ഒബ്ജക്റ്റിലേക്ക്, എക്സിക്യൂട്ടബിൾ എന്നതിലുപരി ഉൾച്ചേർക്കുക. കാണുക
വിശദാംശങ്ങൾക്ക് റഫറൻസ് മാനുവൽ.
-dll വിൻഡോസ് മാത്രം അതുപോലെ തന്നെ -ഉൾച്ചേർത്ത്-പങ്കിട്ടത് പിന്നോക്ക അനുയോജ്യത.
-F അടിസ്ഥാനം
സ്ഥിരസ്ഥിതിയായി, ആരും സംരക്ഷിച്ച അവസ്ഥ സൃഷ്ടിക്കുന്നതിന് swipl കമാൻഡിലേക്ക് കൈമാറുന്നു. ഉപയോഗിക്കുന്നത്
-F xpce നിങ്ങൾക്ക് ലോഡിംഗ് വ്യക്തമാക്കാൻ കഴിയും xpce.rc, സംരക്ഷിച്ച സംസ്ഥാനത്തിന് XPCE ലഭ്യമാക്കുന്നു.
-ലക്ഷ്യം ലക്ഷ്യം
ടോപ്ലെവൽ ഉപയോഗിക്കാൻ തുടങ്ങുമ്പോൾ ആദ്യം നിർവ്വഹിക്കുന്ന ലക്ഷ്യം
PL_toplevel(). Ei സ്ഥിരസ്ഥിതി. -g പുതിയ എക്സിക്യൂട്ടബിളിനായി ഫ്ലാഗ്.
- ടോപ്ലെവൽ ലക്ഷ്യം
പ്രധാന ടോപ്ലെവൽ ലക്ഷ്യമായി നടപ്പിലാക്കിയ ലക്ഷ്യം. Ei സ്ഥിരസ്ഥിതി. -t പതാക
പുതിയ എക്സിക്യൂട്ടബിളിനായി.
-ഇനിറ്റ്ഫയൽ ഫയല്
ടോപ്ലെവൽ ലോഡുചെയ്ത ഫയൽ. Ei സ്ഥിരസ്ഥിതി. -f പുതിയതിന് പതാക
എക്സിക്യൂട്ടബിൾ.
-ച്ലഷ് {റൺടൈം, കേർണൽ, വികസനം}
സൃഷ്ടിച്ച പ്രോലോഗ് സേവ്ഡ്-സ്റ്റേറ്റിന്റെ സേവ്-ക്ലാസ് സജ്ജീകരിക്കുക. എങ്കിൽ റൺടൈം
(സ്ഥിരസ്ഥിതി), തത്ഫലമായുണ്ടാകുന്ന സിസ്റ്റം എല്ലാ ആർഗ്യുമെന്റുകളുടെയും വ്യാഖ്യാനം ലേക്ക് വിടുന്നു
അപേക്ഷ. എങ്കിൽ കെർണൽ ട്രേസറിനായി എല്ലാ പ്രവചനങ്ങളും ലോക്ക് ചെയ്യപ്പെടും. ഒടുവിൽ, എങ്കിൽ
വികസനം സംസ്ഥാനം 'ഉള്ളതുപോലെ' സംരക്ഷിക്കപ്പെടുകയും തത്ഫലമായുണ്ടാകുന്ന സിസ്റ്റം ഓപ്ഷനുകൾ പ്രോസസ്സ് ചെയ്യുകയും ചെയ്യുന്നു
അടിസ്ഥാന SWI-Prolog എക്സിക്യൂട്ടബിൾ ചെയ്യുന്നതുപോലെ. ഇതും കാണുക qsave_program/2 ലെ SWI-
പ്രോലോഗ് സൂചന കൈകൊണ്ടുള്ള.
-v വാചാലമായ പ്രവർത്തനം. കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യുന്നതിന് മുമ്പ് ഇത് പ്രതിധ്വനിക്കുന്നു. ചിലത് ശ്രദ്ധിക്കുക
കമാൻഡുകൾ ഷെൽ കമാൻഡുകളായി പ്രിന്റ് ചെയ്യപ്പെടുന്നു, പക്ഷേ യഥാർത്ഥത്തിൽ swipl-ld തന്നെ നടപ്പിലാക്കുന്നു
Win32 പ്ലാറ്റ്ഫോമുകളുമായുള്ള അനുയോജ്യതയ്ക്കായി.
-f വ്യാജ പ്രവർത്തനം. കൂടെ -v ഇത് എക്സിക്യൂട്ട് ചെയ്യേണ്ട കമാൻഡുകൾ പ്രിന്റ് ചെയ്യുന്നു
യഥാർത്ഥത്തിൽ ഒന്നും ചെയ്യാതെ.
-Ecpargument ...
ആദ്യ ഓപ്ഷൻ ആണെങ്കിൽ -E, എല്ലാ തുടർന്നുള്ള ഓപ്ഷനുകളും കൂട്ടിച്ചേർക്കുകയും കൈമാറുകയും ചെയ്യുന്നു
SWI-Prolog തിരഞ്ഞെടുത്ത പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കാൻ കോൺഫിഗർ ചെയ്യുക സിപിപി.
-o ഫയല്
അന്തിമ എക്സിക്യൂട്ടബിളിന്റെ പേര് വ്യക്തമാക്കുന്നു. സ്ഥിരസ്ഥിതിയാണ് a.out.
-cc സി-കംപൈലർ
ഉപയോഗിക്കേണ്ട കമ്പൈലർ വ്യക്തമാക്കുക *.സി ഫയലുകൾ. കംപൈൽ ചെയ്യാൻ ഉപയോഗിക്കുന്ന കമ്പൈലറാണ് ഡിഫോൾട്ട്
സവിശേഷതയിൽ നിന്ന് വായിച്ചതുപോലെ, SWI-Prolog തന്നെ c_cc.
-സി++ സി++-കംപൈലർ
C++ ഇൻപുട്ട് ഫയലുകൾക്കായി ഉപയോഗിക്കേണ്ട കംപൈലർ വ്യക്തമാക്കുക. സി-കംപൈലർ ആണെങ്കിൽ ജിസി ഇതാണ്
g++, അല്ലെങ്കിൽ c ++ അനുമാനിക്കപ്പെടുന്നു.
-ld ലിങ്കർ
ഉപയോഗിക്കേണ്ട ലിങ്കർ വ്യക്തമാക്കുന്നു. ഡിഫോൾട്ട് സി-കംപൈലർ ആണ്. Win32 പ്ലാറ്റ്ഫോമുകളിൽ, ദി
സ്ഥിരസ്ഥിതിയാണ് link.exe.
-lലൈബ്രറി
ആപ്ലിക്കേഷൻ ലിങ്ക് ചെയ്യുന്നതിനായി ഒരു സി-ലൈബ്രറി വ്യക്തമാക്കുന്നു. സ്വതവേ, -lswipl കൂടാതെ
SWI-Prolog കേർണലിന് ആവശ്യമായ ലൈബ്രറികൾ സി-കംപൈലറിന് കൈമാറും.
-Lലൈബ്രറി-ഡയറക്ടറി
സി-കംപൈലറിനായി ഒരു അധിക ലൈബ്രറി ഡയറക്ടറി വ്യക്തമാക്കുന്നു. സ്ഥിരസ്ഥിതിയായി, ദി
നിലവിലെ ആർക്കിടെക്ചറിനുള്ള റൺടൈം ഡയറക്ടറി പാസ്സായി.
-g|-I*|-D*|-U*|-O*|-W*
സി-ഫ്ലാഗുകളായി കമ്പൈലറിന് കൈമാറി. ഡിഫോൾട്ടായി, SWI-Prolog ഉൾപ്പെടുന്ന ഡയറക്ടറി ആണ്
അധിക ഉൾപ്പെടുത്തൽ ഡയറക്ടറിയായി പാസ്സാക്കി. ഇനിപ്പറയുന്ന -D ഫ്ലാഗുകൾ swipl-ൽ ചേർത്തു.
ld: -D__SWI_PROLOG__ കൂടാതെ -D__SWI_EMBEDDED__.
-pl-ഓപ്ഷനുകൾ*
ഇതിനായി അധിക ഓപ്ഷനുകൾ വ്യക്തമാക്കുക swipl. പിന്തുടരുന്ന ആദ്യത്തെ കഥാപാത്രം -pl-ഓപ്ഷനുകൾ
ഓപ്ഷൻ-സെപ്പറേറ്റർ നിർണ്ണയിക്കുന്നു. വാദത്തിന്റെ ബാക്കി ഭാഗം ഇത് ഉപയോഗിച്ച് വിഭജിക്കുന്നു
സെപ്പറേറ്ററും ഭാഗങ്ങളും പ്രോലോഗിനായുള്ള ഓപ്ഷൻ ലിസ്റ്റിലേക്ക് ചേർത്തു. ഇതും കാണുക -cc-
ഓപ്ഷനുകൾ ഒപ്പം -ld-ഓപ്ഷനുകൾ
-ld-ഓപ്ഷനുകൾ*
അധിക ഓപ്ഷനുകൾ ലിങ്കറിന് കൈമാറി. ഉദാഹരണത്തിന്: -ld-options,-Bstatic
-cc-ഓപ്ഷനുകൾ*
C-, C++-compiler-ലേക്ക് അധിക ഓപ്ഷനുകൾ കൈമാറി.
*.ഒ ലിങ്കറിലേക്ക് ഇൻപുട്ട് ഫയലുകളായി കൈമാറി.
*.സി സി-കംപൈലർ ഉപയോഗിച്ച് കംപൈൽ ചെയ്തു, അതിനുശേഷം ഒബ്ജക്റ്റ്-ഫയൽ ലിങ്കറിലേക്ക് കൈമാറുന്നു.
ക്ലീനപ്പിൽ ഒബ്ജക്റ്റ് ഫയൽ ഇല്ലാതാക്കി.
*.cc|*.C|*.cxx|*.cpp
C++-കംപൈലർ ഉപയോഗിച്ച് കംപൈൽ ചെയ്തു, അതിന് ശേഷം ഒബ്ജക്റ്റ്-ഫയൽ ഫയലിലേക്ക് കൈമാറുന്നു
ലിങ്കർ. ക്ലീനപ്പിൽ ഒബ്ജക്റ്റ് ഫയൽ ഇല്ലാതാക്കി.
*.pl|*.qlf
പ്രോലോഗ് ഇൻപുട്ട് ഫയലുകളായി പാസ്സാക്കി
onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് swipl-ld ഓൺലൈനായി ഉപയോഗിക്കുക
