ইংরেজিফরাসিজার্মানইতালীয়পর্তুগীজরাশিয়ানস্প্যানিশ

অনওয়ার্কস ফেভিকন

mips-linux-gnu-gcj-5 - ক্লাউডে অনলাইন

উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটরের মাধ্যমে OnWorks ফ্রি হোস্টিং প্রদানকারীতে mips-linux-gnu-gcj-5 চালান

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

কার্যক্রম:

NAME এর


gcj - জাভা ভাষার জন্য আগাম সময়ের কম্পাইলার

সাইনোপিসিস


gcj [-IDir...] [-d Dir...]
[--ক্লাসপাথ=পথ] [--ক্লাসপাথ=পথ]
[-fপছন্দ...] [--এনকোডিং=নাম]
[--প্রধান=শ্রেণির নাম] [-Dনাম[=মূল্য]...]
[-C] [--সম্পদ সম্পদের নাম] [-d ডিরেক্টরি]
[-Wসতর্ক...]
উৎস ফাইল...

বর্ণনাঃ


As gcj শুধু অন্য সামনে শেষ জিসিসি, এটি gcc এর মতো একই বিকল্পগুলির অনেকগুলি সমর্থন করে৷
এই ম্যানুয়াল শুধুমাত্র নির্দিষ্ট বিকল্পগুলি নথিভুক্ত করে৷ gcj.

বিকল্প


ইনপুট এবং আউটপুট নথি পত্র
A gcj আদেশ a এর মত জিসিসি কমান্ড, এতে অনেকগুলি বিকল্প এবং ফাইল রয়েছে
নাম নিম্নলিখিত ধরণের ইনপুট ফাইলের নাম সমর্থিত:

ফাইল.Java
জাভা সোর্স ফাইল।

ফাইল.শ্রেণী
জাভা বাইটকোড ফাইল।

ফাইল.zip
ফাইলজার
এক বা একাধিক ".class" ফাইল সমন্বিত একটি সংরক্ষণাগার, যার সবকটি কম্পাইল করা হয়েছে। দ্য
সংরক্ষণাগার সংকুচিত হতে পারে. একটি সংরক্ষণাগারে ফাইল যা দিয়ে শেষ হয় না .শ্রেণী হয়
সম্পদ ফাইল হিসাবে বিবেচিত; তারা ফলে অবজেক্ট ফাইল হিসাবে কম্পাইল করা হয় মূল:
ইউআরএল

@ফাইল
ইনপুট ফাইল নামের একটি সাদা স্থান-বিচ্ছিন্ন তালিকা ধারণকারী একটি ফাইল। (বর্তমানে, এই
সবগুলো অবশ্যই ".java" সোর্স ফাইল হতে হবে, কিন্তু সেটা পরিবর্তিত হতে পারে।) প্রতিটি নামের ফাইল কম্পাইল করা হয়,
ঠিক যেন এটি কমান্ড লাইনে ছিল।

লাইব্রেরি.a
লাইব্রেরি.so
-llibname
লিঙ্ক করার সময় লাইব্রেরি ব্যবহার করতে হবে। দেখুন জিসিসি ম্যানুয়াল।

আপনি একাধিক ইনপুট ফাইল উল্লেখ করতে পারেন gcj কমান্ড লাইন, যে ক্ষেত্রে তারা করবে
সব কম্পাইল করা হবে. যদি আপনি একটি "-o উল্লেখ করেন FILENAME" বিকল্প, সমস্ত ইনপুট ফাইল হবে
একসাথে সংকলিত, একটি একক আউটপুট ফাইল তৈরি করে, নাম ফাইল ফাইল. এটি এমনকি অনুমোদিত
"-S" বা "-c" ব্যবহার করার সময়, কিন্তু "-C" বা "--রিসোর্স ব্যবহার করার সময় নয়। (এটি একটি এক্সটেনশন
কি সমতল অতিক্রম জিসিসি অনুমতি দেয়।) (যদি একাধিক ইনপুট ফাইল নির্দিষ্ট করা থাকে, তবে সবগুলোই করতে হবে
বর্তমানে ".java" ফাইল রয়েছে, যদিও আমরা এটি ঠিক করার আশা করি।)

ইনপুট অপশন সমূহ
gcj এটির প্রয়োজনীয় ফাইলগুলি খুঁজে পেতে এটি কোথায় দেখায় তা নিয়ন্ত্রণ করার বিকল্প রয়েছে৷ এই ক্ষেত্রে, gcj হতে পারে
একটি ক্লাস লোড করতে হবে যা ফাইলটি কম্পাইল করতে বলা হয়েছে দ্বারা উল্লেখ করা হয়েছে। লাইক
জাভা ভাষার জন্য অন্যান্য কম্পাইলার, gcj একটি ধারণা আছে শ্রেণী পথ. সেখানে
বেশ কয়েকটি বিকল্প এবং পরিবেশের ভেরিয়েবল যা ক্লাস পাথ ম্যানিপুলেট করতে ব্যবহার করা যেতে পারে।
কখন gcj একটি প্রদত্ত শ্রেণীর জন্য দেখায়, এটি মিলের জন্য ক্লাস পথ অনুসন্ধান করে .শ্রেণী
or .Java ফাইল. gcj একটি অন্তর্নির্মিত ক্লাস পাথের সাথে আসে যা ইনস্টলে নির্দেশ করে
libgcj.jar, একটি ফাইল যা সমস্ত স্ট্যান্ডার্ড ক্লাস ধারণ করে।

নীচের টেক্সটে, একটি ডিরেক্টরি বা পাথ উপাদান হয় একটি প্রকৃত ডিরেক্টরি উল্লেখ করতে পারে
ফাইল-সিস্টেমে, অথবা ক .zip or জার ফাইল, যা gcj এটি একটি হিসাবে যদি অনুসন্ধান করা হবে
ডিরেক্টরি.

-IDir
"-I" দ্বারা নির্দিষ্ট করা সমস্ত ডিরেক্টরিগুলিকে ক্রমানুসারে রাখা হয় এবং ক্লাস পাথে প্রিপেন্ড করা হয়
অন্যান্য সমস্ত বিকল্প থেকে নির্মিত। "javac" এর মতো সরঞ্জামগুলির সাথে সামঞ্জস্য না থাকলে
গুরুত্বপূর্ণ, আমরা সবসময় অন্য বিকল্পগুলির পরিবর্তে "-I" ব্যবহার করার পরামর্শ দিই৷
ক্লাস পাথ ম্যানিপুলেট করা।

--ক্লাসপাথ=পথ
এটি ক্লাস পাথ সেট করে পথ, পাথের একটি কোলন-বিচ্ছিন্ন তালিকা (উইন্ডোজ-ভিত্তিক
সিস্টেম, পাথের একটি সেমিকোলন-পৃথক তালিকা)। এটি বিল্টইনকে ওভাররাইড করে না
("বুট") অনুসন্ধানের পথ।

--ক্লাসপাথ=পথ
"--classpath"-এর অপ্রচলিত প্রতিশব্দ।

--বুটক্লাসপাথ=পথ
যেখানে স্ট্যান্ডার্ড বিল্টইন ক্লাস পাবেন, যেমন "java.lang.String"।

--extdirs=পথ
প্রতিটি ডিরেক্টরির জন্য পথ, শেষে সেই ডিরেক্টরির বিষয়বস্তু রাখুন
ক্লাস পথ।

ক্লাসস্প্যাট
এটি একটি পরিবেশ পরিবর্তনশীল যা পাথের একটি তালিকা ধারণ করে।

চূড়ান্ত শ্রেণীর পথটি এভাবে তৈরি করা হয়েছে:

* প্রথমে "-I" এর মাধ্যমে নির্দিষ্ট করা সমস্ত ডিরেক্টরি আসুন।

* যদি --ক্লাসপাথ নির্দিষ্ট করা হয়, এর মান যুক্ত করা হয়। অন্যথায়, যদি "CLASSPATH"
এনভায়রনমেন্ট ভেরিয়েবল নির্দিষ্ট করা হয়, তারপর এর মান যুক্ত করা হয়। অন্যথায়, বর্তমান
ডিরেক্টরি ("।") যুক্ত করা হয়েছে।

* যদি "--bootclasspath" নির্দিষ্ট করা হয়, তাহলে এর মান যোগ করুন। অন্যথায়, বিল্ট-ইন যুক্ত করুন
সিস্টেম ডিরেক্টরি, libgcj.jar.

* অবশেষে, যদি "--extdirs" নির্দিষ্ট করা হয়, তাহলে নির্দিষ্ট বিষয়বস্তু যুক্ত করুন
ক্লাস পাথ শেষে ডিরেক্টরি। অন্যথায়, এর বিষয়বস্তু যুক্ত করুন
"$(উপসর্গ)/share/java/ext"-এ বিল্ট-ইন extdirs।

দ্বারা নির্মিত ক্লাসফাইল gcj ক্লাস "java.lang.Object" এর জন্য (এবং "libgcj.jar" এ স্থাপন করা হয়েছে)
একটি বিশেষ শূন্য দৈর্ঘ্য বৈশিষ্ট্য রয়েছে "gnu.gcj.gcj-সংকলিত"। কম্পাইলার খোঁজে
এই বৈশিষ্ট্যটি "java.lang.Object" লোড করার সময় এবং এটি পাওয়া না গেলে একটি ত্রুটি রিপোর্ট করবে,
যদি না এটি বাইটকোডে কম্পাইল না হয় ("-fforce-classes-archive-check" বিকল্পটি ব্যবহার করা যেতে পারে
এই বিশেষ ক্ষেত্রে এই আচরণ ওভাররাইড করুন।)

-fforce-ক্লাস-আর্কাইভ-চেক
এটি কম্পাইলারকে সর্বদা বিশেষ শূন্য দৈর্ঘ্যের বৈশিষ্ট্য পরীক্ষা করতে বাধ্য করে
"java.lang.Object"-এ "gnu.gcj.gcj-সংকলিত" এবং এটি না পাওয়া গেলে একটি ত্রুটি জারি করুন।

-fsource=সংস্করণ
এই বিকল্পটি দ্বারা গৃহীত উৎস সংস্করণ নির্বাচন করতে ব্যবহৃত হয় gcj। ডিফল্ট হয় 1.5.

এনকোডিংসমূহের
জাভা প্রোগ্রামিং ভাষা সর্বত্র ইউনিকোড ব্যবহার করে। ভালভাবে সংহত করার প্রচেষ্টায়
অন্যান্য লোকেলের সাথে, gcj অনুমতি .Java প্রায় কোনো এনকোডিং ব্যবহার করে ফাইল লিখতে হবে। gcj
কম্পাইলের সময় এই এনকোডিংগুলিকে কীভাবে তার অভ্যন্তরীণ এনকোডিংয়ে রূপান্তর করতে হয় তা জানে।

আপনি "--এনকোডিং= ব্যবহার করতে পারেননাম" একটি এনকোডিং নির্দিষ্ট করার বিকল্প (একটি নির্দিষ্ট অক্ষরের
সেট) সোর্স ফাইলের জন্য ব্যবহার করতে। এটি নির্দিষ্ট করা না থাকলে, ডিফল্ট এনকোডিং থেকে আসে
আপনার বর্তমান লোকেল। যদি আপনার হোস্ট সিস্টেমে অপর্যাপ্ত লোকেল সমর্থন থাকে, তাহলে gcj
ডিফল্ট এনকোডিং হতে অনুমান করে হল UTF-8 ইউনিকোডের এনকোডিং।

"--এনকোডিং" বাস্তবায়ন করতে, gcj সহজভাবে হোস্ট প্ল্যাটফর্মের "iconv" রূপান্তর রুটিন ব্যবহার করে।
এর মানে হল অনুশীলনে gcj হোস্ট প্ল্যাটফর্মের ক্ষমতা দ্বারা সীমাবদ্ধ।

"--এনকোডিং" যুক্তির জন্য অনুমোদিত নামগুলি প্ল্যাটফর্ম থেকে প্ল্যাটফর্মে পরিবর্তিত হয় (যেহেতু তারা
কোথাও মানসম্মত নয়)। যাহোক, gcj নামের এনকোডিং প্রয়োগ করে হল UTF-8
অভ্যন্তরীণভাবে, তাই আপনি যদি আপনার উত্স ফাইলগুলির জন্য এটি ব্যবহার করতে চান তবে আপনি নিশ্চিত হতে পারেন যে এটি
প্রতিটি হোস্টে কাজ করবে।

সতর্কবাণী
gcj বেশ কিছু সতর্কতা প্রয়োগ করে। অন্যান্য জেনেরিক হিসাবে জিসিসি সতর্কতা, যদি একটি বিকল্প
ফর্ম "-Wfoo" একটি সতর্কতা সক্ষম করে, তারপর "-Wno-foo" এটি নিষ্ক্রিয় করবে। এখানে আমরা বেছে নিয়েছি
সতর্কতার ফর্মটি নথিভুক্ত করুন যা একটি প্রভাব ফেলবে -- ডিফল্ট হচ্ছে
যা তালিকাভুক্ত করা হয়েছে তার বিপরীত।

-অপ্রয়োজনীয়-সংশোধনকারী
এই পতাকা দিয়ে, gcj অপ্রয়োজনীয় সংশোধক সম্পর্কে সতর্ক করবে। উদাহরণস্বরূপ, এটি সতর্ক করবে
যদি একটি ইন্টারফেস পদ্ধতি "পাবলিক" হিসাবে ঘোষণা করা হয়।

-ওয়েক্সট্রানিয়াস-সেমিকোলন
এই জন্য gcj খালি বিবৃতি সম্পর্কে সতর্ক করতে. খালি বক্তব্য দেয়া হয়েছে
অবমূল্যায়ন

-আউট অফ ডেট
এই বিকল্প কারণ হবে gcj একটি সোর্স ফাইল তার মিলের চেয়ে নতুন হলে সতর্ক করবেন না
ক্লাস ফাইল। গতানুগতিক gcj এ বিষয়ে সতর্ক করবে।

-উনো-বঞ্চিত
যদি একটি অবচিত শ্রেণী, পদ্ধতি, বা ক্ষেত্র উল্লেখ করা হয় তাহলে সতর্ক করুন।

-ওয়ান ব্যবহার করা হয়েছে
এই হিসাবে একই জিসিসিএর "-Wunused"।

-ওয়াল
এটি "-Wredundant-modifiers -Wextraneous-semicolon -Wunused" এর মতই।

সংযোগস্থাপন
একটি জাভা অ্যাপ্লিকেশনটিকে একটি এক্সিকিউটেবল প্রোগ্রামে পরিণত করতে, আপনাকে এটিকে প্রয়োজনীয় সাথে লিঙ্ক করতে হবে
লাইব্রেরি, ঠিক যেমন C বা C++ এর জন্য। লিঙ্কারটি ডিফল্টরূপে একটি গ্লোবাল ফাংশন নামে পরিচিত
"প্রধান"। যেহেতু জাভাতে গ্লোবাল ফাংশন নেই, এবং জাভা ক্লাসের একটি সংগ্রহ থাকতে পারে
একটি "প্রধান" পদ্ধতি সহ একাধিক ক্লাস আছে, আপনাকে লিঙ্কারকে জানাতে হবে কোনটি
অ্যাপ্লিকেশন শুরু করার সময় এই "প্রধান" পদ্ধতিগুলি ব্যবহার করা উচিত। আপনি এটা করতে পারেন
এই যে কোনো উপায়:

* আপনি অ্যাপ্লিকেশন লিঙ্ক করার সময় পছন্দসই "প্রধান" পদ্ধতি ধারণকারী ক্লাস নির্দিষ্ট করুন,
নীচে বর্ণিত "--প্রধান" পতাকা ব্যবহার করে।

* জাভা প্যাকেজগুলিকে এক্সিকিউটেবলের পরিবর্তে একটি শেয়ার্ড লাইব্রেরিতে (dll) লিঙ্ক করুন। তারপর
"gij" প্রোগ্রাম ব্যবহার করে অ্যাপ্লিকেশনটি আহ্বান করুন, নিশ্চিত করুন যে "gij" এটি খুঁজে পেতে পারে
এটি প্রয়োজনীয় লাইব্রেরি।

* জাভা প্যাকেজগুলিকে "-lgij" পতাকার সাথে লিঙ্ক করুন, যা "প্রধান" রুটিনে লিঙ্ক করে
"gij" কমান্ড থেকে। এটি আপনাকে ক্লাস নির্বাচন করতে দেয় যার "প্রধান" পদ্ধতি আপনি
আপনি অ্যাপ্লিকেশন চালানোর সময় চালাতে চান। আপনি অন্যান্য "gij" পতাকাও ব্যবহার করতে পারেন, যেমন
বৈশিষ্ট্য সেট করতে "-D" পতাকা। "-lgij" লাইব্রেরি ব্যবহার করে ("gij" এর পরিবর্তে
পূর্ববর্তী প্রক্রিয়ার প্রোগ্রাম) এর কিছু সুবিধা রয়েছে: এটি স্ট্যাটিক এর সাথে সামঞ্জস্যপূর্ণ
লিঙ্ক করা, এবং লাইব্রেরি কনফিগার বা ইনস্টল করার প্রয়োজন নেই।

এই "gij" বিকল্পগুলি একটি এক্সিকিউটেবল লিঙ্ক করার সাথে সম্পর্কিত:

--প্রধান=শ্রেণির নাম
এই বিকল্পটি ব্যবহার করা হয় লিঙ্ক করার সময় যার "প্রধান" পদ্ধতির ক্লাসের নাম উল্লেখ করতে
ফলস্বরূপ এক্সিকিউটেবল চালানো হলে আহ্বান করা উচিত।

-Dনাম[=মূল্য]
এই বিকল্পটি শুধুমাত্র "--main" এর সাথে ব্যবহার করা যেতে পারে। এটি নামের একটি সিস্টেম সম্পত্তি সংজ্ঞায়িত করে নাম
মান সহ মূল্য। যদি মূল্য নির্দিষ্ট করা নেই তাহলে এটি খালি স্ট্রিং থেকে ডিফল্ট হয়।
এই সিস্টেম বৈশিষ্ট্যগুলি প্রোগ্রামের শুরুতে শুরু করা হয় এবং পুনরুদ্ধার করা যেতে পারে
রানটাইমে "java.lang.System.getProperty" পদ্ধতি ব্যবহার করে।

-এলজিজ
একটি অ্যাপ্লিকেশন তৈরি করুন যার কমান্ড-লাইন প্রক্রিয়াকরণ "gij" কমান্ডের মতো।

এই বিকল্পটি "--main" ব্যবহারের বিকল্প; আপনি উভয় ব্যবহার করতে পারবেন না।

-স্ট্যাটিক-লিবিজিসিজে
এই বিকল্পটি libgcj রানটাইমের একটি স্ট্যাটিক সংস্করণের বিপরীতে লিঙ্ক করার কারণ ঘটায়
লাইব্রেরি সংশ্লিষ্ট লিঙ্কার সমর্থন বিদ্যমান থাকলেই এই বিকল্পটি উপলব্ধ।

সাবধান: libgcj-এর স্ট্যাটিক লিঙ্কিং libgcj-এর প্রয়োজনীয় অংশগুলি বাদ দিতে পারে।
libgcj-এর কিছু অংশ রানটাইমে ক্লাস লোড করতে প্রতিফলন ব্যবহার করে। যেহেতু লিঙ্কার করে
লিঙ্কের সময় এই রেফারেন্সগুলি দেখতে পাবেন না, এটি ক্লাসে উল্লেখ করা বাদ দিতে পারে। দ্য
ফলাফল সাধারণত (কিন্তু সর্বদা নয়) রানটাইমে একটি "ClassNotFoundException" নিক্ষেপ করা হয়।
এই বিকল্পটি ব্যবহার করার সময় সতর্কতা অবলম্বন করা আবশ্যক। আরো বিস্তারিত জানার জন্য দেখুন:
<http://gcc.gnu.org/wiki/Statically%20লিঙ্কিং%20libgcj>

কোড প্রজন্ম
অনেক ছাড়াও জিসিসি বিকল্প নিয়ন্ত্রণ কোড প্রজন্ম, gcj বেশ কয়েকটি বিকল্প আছে
নিজের জন্য নির্দিষ্ট।

-C এই বিকল্পটি বলতে ব্যবহৃত হয় gcj বাইটকোড তৈরি করতে (.শ্রেণী ফাইল) বস্তুর পরিবর্তে
কোড।

--সম্পদ সম্পদের নাম
এই বিকল্পটি বলতে ব্যবহৃত হয় gcj অবজেক্ট কোডে একটি প্রদত্ত ফাইলের বিষয়বস্তু কম্পাইল করতে
তাই এটি রানটাইমে মূল প্রোটোকল হ্যান্ডলার হিসাবে অ্যাক্সেস করা যেতে পারে মূল:/সম্পদ-
নাম। মনে রাখবেন যে সম্পদের নাম রানটাইমে পাওয়া সম্পদের নাম; জন্য
উদাহরণস্বরূপ, এটি "ResourceBundle.getBundle" এ একটি কলে ব্যবহার করা যেতে পারে। আসল ফাইল
এইভাবে কম্পাইল করা নাম আলাদাভাবে উল্লেখ করতে হবে।

-ftarget=সংস্করণ
এই সঙ্গে ব্যবহার করা যেতে পারে -C দ্বারা নির্গত বাইটকোড সংস্করণ নির্বাচন করতে gcj. দ্য
ডিফল্ট হয় 1.5. বাইটকোড তৈরি না করার সময়, এই বিকল্পটির কোন প্রভাব নেই।

-d ডিরেক্টরি
যখন "-C" এর সাথে ব্যবহার করা হয়, তখন এটি সমস্ত উৎপন্ন হয় .শ্রেণী ফাইলে রাখতে হবে
এর উপযুক্ত সাবডিরেক্টরি ডিরেক্টরি. ডিফল্টরূপে তারা সাবডিরেক্টরিতে রাখা হবে
বর্তমান কাজের ডিরেক্টরির।

-fno-সীমা-চেক
গতানুগতিক, gcj কোড তৈরি করে যা সমস্ত অ্যারে ইন্ডেক্সিংয়ের সীমানা পরীক্ষা করে
অপারেশন এই বিকল্পের সাথে, এই চেকগুলি বাদ দেওয়া হয়েছে, যা কর্মক্ষমতা উন্নত করতে পারে
কোডের জন্য যা ব্যাপকভাবে অ্যারে ব্যবহার করে। মনে রাখবেন যে এটি অপ্রত্যাশিত হতে পারে
আচরণ যদি প্রশ্নে থাকা কোডটি আসলে অ্যারে বাউন্ড সীমাবদ্ধতা লঙ্ঘন করে। এটা
এই বিকল্পটি ব্যবহার করা নিরাপদ যদি আপনি নিশ্চিত হন যে আপনার কোড কখনই নিক্ষেপ করবে না
"ArrayIndexOutOfBoundsException"।

-এফএনও-স্টোর-চেক
অ্যারে স্টোর চেক তৈরি করবেন না। অ্যারেতে বস্তু সংরক্ষণ করার সময়, একটি রানটাইম চেক
বস্তুটি অ্যাসাইনমেন্টের সাথে সামঞ্জস্যপূর্ণ কিনা তা নিশ্চিত করার জন্য সাধারণত উত্পন্ন হয়
অ্যারের উপাদান প্রকার (যা কম্পাইল-টাইমে জানা যাবে না)। এর সাথে
বিকল্প, এই চেক বাদ দেওয়া হয়. এটি সঞ্চয় করা কোডের কর্মক্ষমতা উন্নত করতে পারে
ঘন ঘন অ্যারে মধ্যে বস্তু. আপনি যদি নিশ্চিত হন তবে এই বিকল্পটি ব্যবহার করা নিরাপদ
কোড কখনই "ArrayStoreException" নিক্ষেপ করবে না।

-fjni
সঙ্গে gcj দেশীয় পদ্ধতি লেখার জন্য দুটি বিকল্প রয়েছে: CNI এবং JNI। গতানুগতিক
gcj ধরে নিচ্ছেন আপনি CNI ব্যবহার করছেন। আপনি যদি নেটিভ পদ্ধতি সহ একটি ক্লাস কম্পাইল করছেন, এবং
এই পদ্ধতিগুলি JNI ব্যবহার করে প্রয়োগ করা হয়, তাহলে আপনাকে অবশ্যই "-fjni" ব্যবহার করতে হবে। এই বিকল্প
কারণসমূহ gcj স্টাব তৈরি করতে যা অন্তর্নিহিত JNI পদ্ধতিগুলিকে আহ্বান করবে।

-এফএনও-জগত
"আবেদন" কীওয়ার্ড চিনবেন না। এটি পুরানো সংস্করণগুলির সাথে সামঞ্জস্যের জন্য
ভাষার স্পেসিফিকেশন।

-fno-অপ্টিমাইজ-স্ট্যাটিক-ক্লাস-ইনিশিয়ালাইজেশন
যখন অপ্টিমাইজেশান স্তর "-O2" এর সমান বা সমান হয়, gcj অপ্টিমাইজ করার চেষ্টা করবে
রানটাইমে ওয়ে কলগুলি তাদের প্রথম ব্যবহারের পরে স্ট্যাটিক ক্লাস শুরু করার জন্য করা হয়
(এই অপ্টিমাইজেশানটি করা হয় না যদি "-C" নির্দিষ্ট করা হয়।) যখন নেটিভ কম্পাইল করা হয়
কোড, "-fno-অপ্টিমাইজ-স্ট্যাটিক-ক্লাস-ইনিশিয়ালাইজেশন" এই অপ্টিমাইজেশানটি বন্ধ করে দেবে,
ব্যবহারে অপ্টিমাইজেশান স্তর নির্বিশেষে।

--অক্ষম-জক্তি[=ক্লাস-বা-প্যাকেজ]
সংকলিত কোডে দাবী পরীক্ষা করার জন্য কোড অন্তর্ভুক্ত করবেন না। যদি
"=ক্লাস-বা-প্যাকেজ" অনুপস্থিত সব শ্রেণীর জন্য দাবী কোড জেনারেশন অক্ষম করে,
যদি না একটি আরো নির্দিষ্ট "--enable-asssertions" পতাকা দ্বারা ওভাররাইড করা হয়। যদি ক্লাস-বা-প্যাকেজ
একটি শ্রেণীর নাম, শুধুমাত্র নামকৃত শ্রেণীর মধ্যে দাবী চেক তৈরি করা অক্ষম করে বা
এর অভ্যন্তরীণ ক্লাস। যদি ক্লাস-বা-প্যাকেজ একটি প্যাকেজ নাম, জেনারেট করা অক্ষম করে
নামযুক্ত প্যাকেজ বা একটি সাবপ্যাকেজের মধ্যে দাবি চেক।

ডিফল্টরূপে, ক্লাস ফাইল তৈরি করার সময় বা অপ্টিমাইজ না করার সময় দাবিগুলি সক্রিয় করা হয়,
এবং অপ্টিমাইজড বাইনারি তৈরি করার সময় অক্ষম করা হয়।

--সক্ষম-দাবী[=ক্লাস-বা-প্যাকেজ]
দাবি চেক করার জন্য কোড তৈরি করে। বিকল্পটি সম্ভবত ভুল নামকরণ করা হয়েছে, যেমন আপনার এখনও প্রয়োজন
রান-টাইমে দাবী চেকিং চালু করতে, এবং আমরা কোন সহজ উপায় সমর্থন করি না
যে তাই আংশিকভাবে ওভাররাইড করা ছাড়া এই পতাকাটি এখনও খুব কার্যকর নয়
"--অক্ষম-দাবী"।

-ফাইনডাইরেক্ট-প্রেরণ
gcj ABI এর একটি বিশেষ বাইনারি সামঞ্জস্য রয়েছে, যা দ্বারা সক্রিয় করা হয়েছে
"-ফাইনডাইরেক্ট-ডিসপ্যাচ" বিকল্প। এই মোডে, দ্বারা উত্পন্ন কোড gcj সম্মান দেয়
জাভা ল্যাঙ্গুয়েজ স্পেসিফিকেশনে বাইনারি সামঞ্জস্যতা গ্যারান্টি দেয় এবং এর ফলে
অবজেক্ট ফাইলগুলিকে তাদের নির্ভরতার সাথে সরাসরি লিঙ্ক করার দরকার নেই। পরিবর্তে,
সমস্ত নির্ভরতা রানটাইমে দেখা হয়। এটি ব্যাখ্যা করা এবং বিনামূল্যে মিশ্রণের অনুমতি দেয়
সংকলিত কোড।

উল্লেখ্য, বর্তমানে, "-ফাইনডাইরেক্ট-ডিসপ্যাচ" শুধুমাত্র কম্পাইল করার সময় ব্যবহার করা যেতে পারে .শ্রেণী
নথি পত্র. উৎস থেকে কম্পাইল করার সময় এটি কাজ করবে না। CNI এর সাথে এখনও কাজ করে না
বাইনারি সামঞ্জস্য ABI. ভবিষ্যতে এই নিষেধাজ্ঞাগুলি তুলে নেওয়া হবে
মুক্তি.

যাইহোক, আপনি যদি স্ট্যান্ডার্ড ABI এর সাথে CNI কোড কম্পাইল করেন, আপনি কোড থেকে এটি কল করতে পারেন
বাইনারি সামঞ্জস্য ABI সঙ্গে নির্মিত.

-fbootstrap-ক্লাস
এই বিকল্পটি "libgcj" কে বলার জন্য ব্যবহার করা যেতে পারে যে কম্পাইল করা ক্লাসগুলি লোড করা উচিত
বুটস্ট্র্যাপ লোডার, সিস্টেম ক্লাস লোডার নয়। ডিফল্টরূপে, যদি আপনি একটি ক্লাস কম্পাইল করেন
এবং এটিকে একটি এক্সিকিউটেবলের সাথে লিঙ্ক করুন, এটিকে ব্যবহার করে লোড করা হয়েছে বলে বিবেচনা করা হবে
সিস্টেম ক্লাস লোডার। এই সুবিধাজনক, এটা মানে যে জিনিস পছন্দ
"Class.forName()" সার্চ করবে ক্লাসস্প্যাট পছন্দসই ক্লাস খুঁজে পেতে.

-freduced-প্রতিফলন
এই বিকল্পটি কোড তৈরি করে gcj ক্লাসের একটি হ্রাস পরিমাণ ধারণ করতে
রানটাইম প্রতিফলন সমর্থন করতে ব্যবহৃত মেটা-ডেটা। এই সঞ্চয় খরচের লোকসান
স্ট্যান্ডার্ড জাভা রানটাইমের নির্দিষ্ট প্রতিফলন ক্ষমতা ব্যবহার করার ক্ষমতা
পরিবেশ সঠিক প্রাপ্ত করার জন্য যা প্রয়োজন তা ছাড়া সমস্ত মেটা-ডেটা সেট করার সময়
রানটাইম শব্দার্থ বাদ দেওয়া হয়।

কোডের জন্য যা প্রতিফলন ব্যবহার করে না (যেমন সিরিয়ালাইজেশন, RMI, CORBA বা কল পদ্ধতি
"java.lang.reflect" প্যাকেজে), "-freduced-reflection" এর ফলে সঠিক হবে
এক্সিকিউটেবল কোড আকারে সঞ্চয় সহ অপারেশন।

JNI ("-fjni") এবং বাইনারি সামঞ্জস্য ABI ("-findirect-dispatch") কাজ করে না
সম্পূর্ণ প্রতিফলন মেটা-ডেটা ছাড়াই সঠিকভাবে। এই কারণে, এটি ব্যবহার করার জন্য একটি ত্রুটি
"-freduced-প্রতিফলন" সহ এই বিকল্পগুলি।

সাবধান: কোন প্রতিফলন মেটা-ডেটা না থাকলে, কোড যেটি "SecurityManager" ব্যবহার করে
সঠিকভাবে কাজ না। এছাড়াও কলিং পদ্ধতি থাকলে "Class.forName()" কল করা ব্যর্থ হতে পারে
কোন প্রতিফলন মেটা-ডেটা.

কনফিগার-সময় অপশন সমূহ
কিছু gcj কোড জেনারেশন বিকল্পগুলি ফলস্বরূপ ABI কে প্রভাবিত করে এবং তাই হতে পারে
অর্থপূর্ণভাবে দেওয়া হয় যখন "libgcj", রানটাইম প্যাকেজ কনফিগার করা হয়। "libgcj" রাখে
এই গ্রুপ থেকে একটি মধ্যে উপযুক্ত বিকল্প ফটকা খেলা ফাইল যা দ্বারা পড়া হয় gcj. এই অপশন
সম্পূর্ণতার জন্য এখানে তালিকাভুক্ত করা হয়; আপনি যদি "libgcj" ব্যবহার করেন তাহলে আপনি স্পর্শ করতে চাইবেন না
এই বিকল্পগুলি।

-ফিউজ-বোহেম-জিসি
এটি Boehm GC বিটম্যাপ মার্কিং কোড ব্যবহার করতে সক্ষম করে। বিশেষ করে এই কারণ
gcj প্রতিটি vtable এ একটি অবজেক্ট মার্কিং ডিসক্রিপ্টর রাখা।

-ফ্যাশ-সিঙ্ক্রোনাইজেশন
ডিফল্টরূপে, সিঙ্ক্রোনাইজেশন ডেটা ("সিঙ্ক্রোনাইজ", "অপেক্ষা" এবং
"বিজ্ঞপ্তি") প্রতিটি বস্তুর একটি শব্দ দ্বারা নির্দেশিত হয়। এই বিকল্প সঙ্গে gcj অনুমান করে যে
এই তথ্যটি একটি হ্যাশ টেবিলে সংরক্ষণ করা হয় এবং বস্তুতে নয়।

-ফিউজ-ডিভাইড-সাবরুটিন
কিছু সিস্টেমে, পূর্ণসংখ্যা বিভাজন করার জন্য একটি লাইব্রেরি রুটিন বলা হয়। এই
শূন্য দ্বারা ভাগ করার সময় ব্যতিক্রম হ্যান্ডলিং সঠিক পেতে প্রয়োজন।

-fcheck-রেফারেন্স
কিছু সিস্টেমে যখনই কোনো বস্তু অ্যাক্সেস করার সময় ইনলাইন চেক সন্নিবেশ করা প্রয়োজন
একটি রেফারেন্স মাধ্যমে। অন্যান্য সিস্টেমে আপনার এটির প্রয়োজন হবে না কারণ নাল পয়েন্টার অ্যাক্সেস করে
প্রসেসর দ্বারা স্বয়ংক্রিয়ভাবে ধরা হয়.

-ফিউজ-পারমাণবিক-বিল্টিনস
কিছু সিস্টেমে, GCC বিল্ট-ইন পারমাণবিক অপারেশনের জন্য কোড তৈরি করতে পারে। এটা ব্যবহার কর
জাভা কোড কম্পাইল করার সময় এই বিল্টইনগুলি ব্যবহার করতে gcj কে বাধ্য করার বিকল্প। যেখানে এই
ক্ষমতা উপস্থিত আছে এটি স্বয়ংক্রিয়ভাবে সনাক্ত করা উচিত, তাই আপনার সাধারণত প্রয়োজন হবে না
এই বিকল্পটি ব্যবহার করতে।

onworks.net পরিষেবা ব্যবহার করে অনলাইনে mips-linux-gnu-gcj-5 ব্যবহার করুন


Ad


Ad

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