tcc - ক্লাউডে অনলাইন

এটি হল টিসিসি কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


tcc - ক্ষুদ্র সি কম্পাইলার

সাইনোপিসিস


ব্যবহার: tcc [বিকল্প] [infile1 infile2...] [-run ইনফাইল args...]

বর্ণনাঃ


টিসিসি বিকল্পগুলি অনেকটা জিসিসি বিকল্পের মতো। প্রধান পার্থক্য হল যে টিসিসিও করতে পারে
সরাসরি ফলাফল প্রোগ্রাম চালান এবং রানটাইম আর্গুমেন্ট দিন।

যুক্তি বোঝার জন্য এখানে কিছু উদাহরণ দেওয়া হল:

"tcc -run এসি"
সঙ্কলন করা এসি এবং সরাসরি এটি চালান

"tcc -run এসি arg1"
এসি কম্পাইল করুন এবং সরাসরি এটি চালান। "main()" এর প্রথম আর্গুমেন্ট হিসাবে arg1 দেওয়া হয়েছে
এসি এর

"tcc এসি -run খ্রিস্টপূর্ব arg1"
সঙ্কলন করা এসি এবং খ্রিস্টপূর্ব, তাদের একসাথে লিঙ্ক করুন এবং তাদের চালান। arg1 প্রথম হিসাবে দেওয়া হয়
ফলাফল প্রোগ্রামের "main()" এর যুক্তি।

"tcc -o মাইপ্রোগ এসি বিসি"
সঙ্কলন করা এসি এবং খ্রিস্টপূর্ব, তাদের লিঙ্ক করুন এবং এক্সিকিউটেবল জেনারেট করুন মাইপ্রোগ.

"tcc -o মাইপ্রোগ ao bo"
লিংক ao এবং bo একসাথে এবং এক্সিকিউটেবল জেনারেট করে মাইপ্রোগ.

"tcc -c এসি"
সঙ্কলন করা এসি এবং অবজেক্ট ফাইল তৈরি করুন ao.

"tcc -c asmfile.S"
সি প্রিপ্রসেস এবং অ্যাসেম্বল দিয়ে প্রিপ্রসেস করুন asmfile.S এবং অবজেক্ট ফাইল তৈরি করুন
asmfile.o.

"tcc -c asmfile.s"
একত্রিত করুন (কিন্তু পূর্ব প্রক্রিয়া নয়) asmfile.s এবং অবজেক্ট ফাইল তৈরি করুন asmfile.o.

"tcc -r -o ab.o এসি বিসি"
সঙ্কলন করা এসি এবং খ্রিস্টপূর্ব, তাদের একসাথে লিঙ্ক করুন এবং অবজেক্ট ফাইল তৈরি করুন ab.o.

স্ক্রিপ্টিং:

থেকে টিসিসি আহ্বান করা যেতে পারে স্ক্রিপ্ট, ঠিক শেল স্ক্রিপ্ট হিসাবে. আপনি শুধু যোগ করতে হবে
আপনার C উৎসের শুরুতে "#!/usr/local/bin/tcc -run":

#!/usr/local/bin/tcc -রান
#অন্তর্ভুক্ত

প্রধান প্রধান ()
{
printf("হ্যালো ওয়ার্ল্ড\n");
ফিরে 0;
}

TCC থেকে C সোর্স কোড পড়তে পারে মান ইনপুট কখন - এর জায়গায় ব্যবহার করা হয় ইনফাইল। উদাহরণ:

echo 'main(){puts("hello");}' | tcc -রান -

বিকল্প


-c একটি অবজেক্ট ফাইল তৈরি করুন।

-o আউটফাইল
আউটপুট ফাইলে অবজেক্ট ফাইল, এক্সিকিউটেবল বা dll রাখুন আউটফাইল.

-run উৎস [আর্গস...]
ফাইল কম্পাইল করুন উৎস এবং কমান্ড লাইন আর্গুমেন্ট দিয়ে এটি চালান args. আদেশ করা
একটি স্ক্রিপ্টে একাধিক যুক্তি দিতে সক্ষম, বেশ কয়েকটি টিসিসি বিকল্প দেওয়া যেতে পারে
পরে দ্য -run বিকল্প, স্পেস দ্বারা বিভক্ত:

tcc "-run -L/usr/X11R6/lib -lX11" ex4.c

একটি স্ক্রিপ্টে, এটি নিম্নলিখিত শিরোনাম দেয়:

#!/usr/local/bin/tcc -run -L/usr/X11R6/lib -lX11

-mfloat-abi (এআরএম কেবল)
ফ্লোট ABI নির্বাচন করুন। সম্ভাব্য মান: "softfp" এবং "হার্ড"

- ডাম্প সংস্করণ
শুধুমাত্র কম্পাইলার সংস্করণ প্রিন্ট করুন এবং অন্য কিছু নয়।

-v TCC সংস্করণ প্রদর্শন করুন।

-ভিভি অন্তর্ভুক্ত ফাইল দেখান. একমাত্র যুক্তি হিসেবে, সার্চ ডির প্রিন্ট করুন (নীচের মত)।

-এজলাস
সংকলন পরিসংখ্যান প্রদর্শন করুন।

-প্রিন্ট-সার্চ-ডিরার্স
কনফিগার করা ইনস্টলেশন ডিরেক্টরি এবং লাইব্রেরির একটি তালিকা প্রিন্ট করুন এবং অন্তর্ভুক্ত করুন
ডিরেক্টরি টিসিসি অনুসন্ধান করবে।

প্রিপ্রসেসর বিকল্প:

-ইদির
একটি অতিরিক্ত অন্তর্ভুক্ত পথ নির্দিষ্ট করুন। ইনক্লুড পাথগুলি যেভাবে হয় সেই ক্রমে অনুসন্ধান করা হয়৷
নির্দিষ্ট

সিস্টেম অন্তর্ভুক্ত পাথ সবসময় পরে অনুসন্ধান করা হয়. ডিফল্ট সিস্টেমের মধ্যে রয়েছে পাথগুলি হল:
/usr/local/include, / usr / অন্তর্ভুক্ত এবং PREFIX/lib/tcc/অন্তর্ভুক্ত. (প্রিফিক্স সাধারণত , / usr
or , / Usr / স্থানীয়).

-Dsym[=val]
প্রিপ্রসেসর প্রতীক সংজ্ঞায়িত করুন সিম val যদি val উপস্থিত না থাকে তবে এর মান হল 1.
ফাংশনের মতো ম্যাক্রোগুলিও সংজ্ঞায়িত করা যেতে পারে: -DF(a)=a+1

-উসিম
প্রিপ্রসেসর চিহ্নকে অসংজ্ঞায়িত করুন সিম.

সংকলন পতাকা:

দ্রষ্টব্য: নিম্নলিখিত বিকল্পগুলির প্রতিটির শুরুতে একটি নেতিবাচক ফর্ম রয়েছে -fno-.

-ফানসাইনড-চার
"char" টাইপটি আনসাইন করা হোক।

-ফসাইনড-চার
"char" টাইপ স্বাক্ষর করা যাক।

-fno-সাধারণ
শুরু না করা ডেটার জন্য সাধারণ চিহ্ন তৈরি করবেন না।

- fleading-আন্ডারস্কোর
প্রতিটি সি চিহ্নের শুরুতে একটি অগ্রণী আন্ডারস্কোর যোগ করুন।

-এফএমএস-এক্সটেনশন
ভাষাতে একটি MS C কম্পাইলার এক্সটেনশনের অনুমতি দিন। বর্তমানে এই নামে একটি নেস্টেড অনুমান
শনাক্তকারী ছাড়া কাঠামো ঘোষণা একটি নামহীন এক মত আচরণ.

-ডলার-ইন-আইডেন্টিফায়ার
শনাক্তকারীতে একটি ডলারের অনুমতি দিন

সতর্কতা বিকল্প:

-w সমস্ত সতর্কতা অক্ষম করুন।

দ্রষ্টব্য: নিম্নলিখিত সতর্কতা বিকল্পগুলির প্রতিটির শুরুতে একটি নেতিবাচক ফর্ম রয়েছে৷ -ওনো-.

- Wimplicit-ফাংশন-ঘোষণা
অন্তর্নিহিত ফাংশন ঘোষণা সম্পর্কে সতর্ক করুন।

-উনসমর্থিত
TCC দ্বারা উপেক্ষা করা অসমর্থিত GCC বৈশিষ্ট্য সম্পর্কে সতর্ক করুন৷

লিখুন-স্ট্রিং
স্ট্রিং ধ্রুবককে "char *" এর পরিবর্তে "const char *" টাইপ করুন।

-ভুল
সতর্কতা জারি করা হলে সংকলন বাতিল করুন।

-ওয়াল
সমস্ত সতর্কতা সক্রিয় করুন, ছাড়া -ভুল, -উনু সমর্থিত এবং লিখুন-স্ট্রিং.

লিঙ্কার বিকল্প:

-Ldir
এর জন্য একটি অতিরিক্ত স্ট্যাটিক লাইব্রেরি পাথ নির্দিষ্ট করুন -l বিকল্প ডিফল্ট লাইব্রেরি পাথ
হয় , / Usr / local / lib, / Usr / lib এবং / lib.

-lxxx
ডায়নামিক লাইব্রেরি libxxx.so বা স্ট্যাটিক লাইব্রেরি libxxx.a এর সাথে আপনার প্রোগ্রাম লিঙ্ক করুন। দ্য
লাইব্রেরি দ্বারা নির্দিষ্ট পাথ অনুসন্ধান করা হয় -L বিকল্প এবং LIBRARY_PATH পরিবর্তনশীল।

-বিডির
যেখানে tcc অভ্যন্তরীণ লাইব্রেরি (এবং ফাইল অন্তর্ভুক্ত) পাওয়া যাবে সেই পথটি সেট করুন
(ডিফল্ট হল PREFIX/lib/tcc).

- শেয়ার করা হয়েছে
এক্সিকিউটেবলের পরিবর্তে একটি শেয়ার্ড লাইব্রেরি তৈরি করুন।

-সোনাম নাম
রানটাইমে ব্যবহার করা শেয়ার্ড লাইব্রেরির জন্য নাম সেট করুন

- স্থির
একটি স্ট্যাটিকালি লিঙ্কড এক্সিকিউটেবল জেনারেট করুন (ডিফল্ট হল শেয়ার্ড লিঙ্কড এক্সিকিউটেবল)।

- গতিশীল
ডায়নামিক লিঙ্কারে বিশ্বব্যাপী প্রতীক রপ্তানি করুন। যখন একটি লাইব্রেরি খোলা হয় তখন এটি দরকারী
"dlopen()" কে এক্সিকিউটেবল সিম্বল অ্যাক্সেস করতে হবে।

-r সমস্ত ইনপুট ফাইল একত্রিত করে একটি অবজেক্ট ফাইল তৈরি করুন।

-Wl, -rpath=পথ
ডাইনামিক লাইব্রেরির জন্য কাস্টম সিচ পাথ এক্সিকিউটেবলে রাখুন।

-Wl,---oformat=fmt
ব্যবহার fmt আউটপুট বিন্যাস হিসাবে। সমর্থিত আউটপুট ফরম্যাট হল:

"elf32-i386"
ELF আউটপুট বিন্যাস (ডিফল্ট)

"বাইনারী"
বাইনারি ইমেজ (শুধুমাত্র এক্সিকিউটেবল আউটপুটের জন্য)

"কফ"
COFF আউটপুট বিন্যাস (শুধুমাত্র TMS320C67xx টার্গেটের জন্য এক্সিকিউটেবল আউটপুটের জন্য)

-Wl,-সাবসিস্টেম=কনসোল/গুই/উইন্স/...
PE (উইন্ডোজ) এক্সিকিউটেবলের জন্য টাইপ সেট করুন।

-Wl,-[Ttext=# | বিভাগ-সারিবদ্ধকরণ=# | ফাইল-সারিবদ্ধকরণ=# | ইমেজ-বেস=# | স্ট্যাক=#]
এক্সিকিউটেবল লেআউট পরিবর্তন করুন।

-Wl, -সাম্বলিক
DT_SYMBOLIC ট্যাগ সেট করুন।

ডিবাগার বিকল্প:

-g রান টাইম ডিবাগ তথ্য তৈরি করুন যাতে আপনি পরিষ্কার রান টাইম ত্রুটি বার্তা পেতে পারেন: "
test.c:68: ফাংশনে 'test5()': অবৈধ পয়েন্টার ডিরেফারেন্সিং এর পরিবর্তে
ল্যাকোনিক "সেগমেন্টেশন ফল্ট"।

-b মেমরি বরাদ্দ এবং অ্যারে/পয়েন্টার সীমানা পরীক্ষা করতে অতিরিক্ত সমর্থন কোড তৈরি করুন।
-g উহ্য হয় মনে রাখবেন যে জেনারেট করা কোড এই ক্ষেত্রে ধীর এবং বড়।

বিঃদ্রঃ: -b মুহূর্তের জন্য libtcc ব্যবহার করার সময় শুধুমাত্র i386 এ উপলব্ধ।

-বিটি N
স্ট্যাক ট্রেসে N কলার প্রদর্শন করুন। এই সঙ্গে দরকারী -g or -b.

বিবিধ বিকল্প:

-এমডি নির্ভরতা সহ মেকফাইল খণ্ড তৈরি করুন।

-এমএফ depfile
ব্যবহার depfile -MD-এর আউটপুট হিসাবে।

দ্রষ্টব্য: GCC বিকল্প -ষাঁড়, -fx এবং -mx অবহেলা করা হয়।

পরিবেশ


এনভায়রনমেন্ট ভেরিয়েবল যা tcc কিভাবে কাজ করে তা প্রভাবিত করে।

CPATH
C_INCLUDE_PATH
অনুসন্ধান করা ডিরেক্টরিগুলির একটি কোলন-বিচ্ছিন্ন তালিকা ফাইল, ডিরেক্টরিগুলি অন্তর্ভুক্ত করে
সঙ্গে -I প্রথমে অনুসন্ধান করা হয়।

LIBRARY_PATH
লাইব্রেরির জন্য অনুসন্ধান করা ডিরেক্টরিগুলির একটি কোলন-বিচ্ছিন্ন তালিকা -l বিকল্প,
সঙ্গে দেওয়া ডিরেক্টরি -L প্রথমে অনুসন্ধান করা হয়।

onworks.net পরিষেবা ব্যবহার করে অনলাইনে tcc ব্যবহার করুন



সর্বশেষ লিনাক্স এবং উইন্ডোজ অনলাইন প্রোগ্রাম