কেন এই প্রোগ্রামটি ভুলভাবে তিনটি সি ++ কম্পাইলার দ্বারা প্রত্যাখ্যাত হয়েছে?


468

আমি যে সি ++ প্রোগ্রাম লিখেছি তা সংকলন করতে আমার কিছুটা সমস্যা হচ্ছে।

এই প্রোগ্রামটি খুব সাধারণ এবং আমার জ্ঞানের সর্বোপরি সি ++ স্ট্যান্ডার্ডে নির্ধারিত সমস্ত নিয়ম মেনে চলে। নিশ্চিত হওয়ার জন্য আমি আইএসও / আইইসি 14882: 2003 এর সম্পূর্ণতা দুটিবার পড়েছি।

প্রোগ্রামটি নিম্নরূপ:

এখানে চিত্র বর্ণনা লিখুন

এই প্রোগ্রামটি ভিজ্যুয়াল সি ++ এর সাথে সংকলনের চেষ্টা করার সময় আমি আউটপুটটি পেয়েছি:

c:\dev>cl /nologo helloworld.png
cl : Command line warning D9024 : unrecognized source file type 'helloworld.png', object file assumed
helloworld.png : fatal error LNK1107: invalid or corrupt file: cannot read at 0x5172

হতাশ, আমি জি ++ 4.5.2 চেষ্টা করেছিলাম, তবে এটি ছিল সমানভাবে অপ্রয়োজনীয়:

c:\dev>g++ helloworld.png
helloworld.png: file not recognized: File format not recognized
collect2: ld returned 1 exit status

আমি বুঝতে পেরেছি যে ক্ল্যাং (সংস্করণ 3.0 ট্রাঙ্ক 127530) অবশ্যই কাজ করবে, কারণ এটি এর মান অনুসারে যথেষ্ট প্রশংসিত। দুর্ভাগ্যক্রমে, এটি আমাকে এর সুন্দর, হাইলাইটেড ত্রুটি বার্তাগুলির একটিও দেয় নি:

c:\dev>clang++ helloworld.png
helloworld.png: file not recognized: File format not recognized
collect2: ld returned 1 exit status
clang++: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation)

সত্যি কথা বলতে কি, এই ত্রুটি বার্তার কোনওটির অর্থ আমি সত্যই জানি না।

অন্যান্য অনেক সি ++ প্রোগ্রামে একটি .cpp এক্সটেনশন সহ উত্স ফাইল রয়েছে , তাই আমি ভেবেছিলাম সম্ভবত আমার ফাইলটির নামকরণের প্রয়োজন। আমি এর নামটি হেলোরওল্ড.পিপি- তে পরিবর্তন করেছিলাম , তবে তাতে কোনও লাভ হয়নি। আমি মনে করি ক্ল্যাং-এ একটি খুব গুরুতর ত্রুটি রয়েছে কারণ যখন আমি এটির নামকরণ প্রোগ্রামটি সংকলন করতে চেষ্টা করেছি, তখন এটি উল্টে গেল, মুদ্রিত "৮৮ সতর্কতা এবং ২০ টি ত্রুটি উত্পন্ন হয়েছে।" এবং আমার কম্পিউটারকে অনেক বেশি বীপ বানিয়েছে!

আমি এখানে কি ভুল করেছি? আমি কি সি ++ স্ট্যান্ডার্ডের কিছু সমালোচনামূলক অংশ মিস করেছি? বা তিনটি সংকলকই কি সত্যিই এতটাই ভাঙ্গা হয়েছে যে তারা এই সাধারণ প্রোগ্রামটি সংকলন করতে পারে না?

উত্তর:


173

স্ট্যান্ডার্ডে, §2.1 / 1 নির্দিষ্ট করে:

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

আপনার সংকলক সেই ফর্ম্যাটটিকে সমর্থন করে না (ওরফে এটি মূল উত্স অক্ষর সেটটিতে ম্যাপ করতে পারে না ), সুতরাং এটি আরও প্রক্রিয়াকরণ পর্যায়ে যেতে পারে না, সুতরাং ত্রুটি। এটি সম্পূর্ণরূপে সম্ভব যে আপনার সংকলকটি চিত্র থেকে মৌলিক উত্স চরিত্রের সেটটিতে ম্যাপিং সমর্থন করে, তবে এটির প্রয়োজন হয় না।

যেহেতু এই ম্যাপিংটি বাস্তবায়ন-সংজ্ঞায়িত, তাই ফাইলগুলি ফর্ম্যাটগুলি সমর্থন করে তা দেখতে আপনার বাস্তবায়ন ডকুমেন্টেশনগুলি আপনার দেখতে হবে। সাধারণত, প্রতিটি বড় সংকলক বিক্রেতা টেক্সট ফাইলগুলিকে সমর্থন করে (প্রমিতভাবে সংজ্ঞায়িত): কোনও পাঠ্য সম্পাদক দ্বারা উত্পাদিত যে কোনও ফাইল, সাধারণত অক্ষরগুলির একটি সিরিজ।


নোট করুন যে সি ++ স্ট্যান্ডার্ডটি সি স্ট্যান্ডার্ড (.11.1 / 2) এর উপর ভিত্তি করে এবং সি (99) স্ট্যান্ডার্ডটি বলেছেন, §1.2:

এই আন্তর্জাতিক মানটি নির্দিষ্ট করে না
- যে পদ্ধতি দ্বারা সি প্রোগ্রামগুলি ডেটা-প্রসেসিং সিস্টেম ব্যবহারের জন্য রুপান্তরিত হয়;
- যে পদ্ধতি দ্বারা সি প্রোগ্রামগুলি ডেটা-প্রসেসিং সিস্টেমের দ্বারা ব্যবহারের জন্য আবেদন করা হয়;
- যে পদ্ধতি দ্বারা ইনপুট ডেটা সি প্রোগ্রাম দ্বারা ব্যবহারের জন্য রুপান্তরিত হয়;

সুতরাং, আবার, উত্স ফাইলগুলির চিকিত্সা এমন একটি জিনিস যা আপনার সংকলক ডকুমেন্টেশনে আপনার সন্ধান করতে হবে।


23
আমি মনে করি যে বাক্যটি সর্বোপরি অস্পষ্ট। মেরিয়াম-ওয়েবস্টার অভিধান বলছেন যে টেক্সট হয় মূল শব্দ এবং একটি লিখিত বা মুদ্রিত কাজ আকারে বা এই ধরনের টেক্সট ধারণকারী একটি কাজ । এই উত্স ফাইলটি স্পষ্টভাবে সেই সংজ্ঞার আওতায় পড়ে। আপনি কি মনে করেন যে কোর কোর ওয়ার্কিং গ্রুপের সাথে আমার কোনও ত্রুটি প্রতিবেদন করা উচিত?
জেমস ম্যাকনেলিস

15
উহু; আমি রেফারেন্সযুক্ত সমস্ত নথি পড়তে সম্পূর্ণ ভুলে গেছি। আমি মনে করি যে অনুচ্ছেদে প্রসঙ্গের বাইরে নেওয়া হয়েছে, তবে আমি গিয়ে আইএসও / আইসিসি 9899: 1990 এর সম্পূর্ণতা পড়ব এবং এটি পুরোপুরি বুঝতে পারলে এখানে আবার পোস্ট করব।
জেমস ম্যাকনেলিস

575

19
সেরা। বিএমপি ফর্ম্যাট। স্পেসিফিকেশন চিত্রণ। কখনো।
টোবিয়াস কেইনজলার

49
তাহলে ওপিএস ত্রুটিটি বিএমপির পরিবর্তে পিএনজি ব্যবহার করা ছিল?
সাবস্ক্রাইব

1
এই সুন্দর উত্তরের দ্বারা অনুপ্রাণিত হয়ে আমি সিদ্ধান্ত নিয়েছিলাম যে আমি ব্রেইনফের জন্যও অনুরূপ কিছু করব ***: blog.dreasgrech.com/2011/04/…
আন্দ্রে গ্র্যাচ


211

তোমার <এবং >, (এবং ), {এবং }না খুব ভাল মেলে বলে মনে হচ্ছে না; এগুলি আরও ভালভাবে আঁকতে চেষ্টা করুন।


44
যদিও আমি আপনাকে আমার হস্তাক্ষর নিয়ে মজা প্রশংসা না, এই বাস্তব সমস্যা হতে পারে এবং ত্রুটি আমি পেতে যখন আমি নতুন নামকরণ সংকলন চেষ্টা ব্যাখ্যা করবে helloworld.cpp ভিসুয়াল সি সঙ্গে ++,: "মারাত্মক ত্রুটি C1004: অপ্রত্যাশিত শেষ of- ফাইলটি পাওয়া গেছে "আমি আবার চেষ্টা করব এবং শীঘ্রই আবার রিপোর্ট করব। ধন্যবাদ!
জেমস ম্যাকনেলিস

37
@ জেমস নিশ্চিত করে যে আপনি সমস্ত পিএনজি অপ্টিমাইজেশন বন্ধ করেছেন। এটি ডিবাগিংকে সহজ করে তোলে।
উইলহেমটেল

5
@ জেমস: "ফাইলের অপ্রত্যাশিত পরিণতি" এর প্রায়শই অর্থ হ'ল সমস্যাটি আপনারাই হচ্ছেন }{
2210: 22

156

আপনি নিম্নলিখিত অজগর স্ক্রিপ্ট চেষ্টা করতে পারেন। মনে রাখবেন আপনার পিআইএল এবং পাইটসারের ইনস্টল করতে হবে ।

from pytesser import *
image = Image.open('helloworld.png')  # Open image object using PIL
print image_to_string(image)     # Run tesseract.exe on image

এটি ব্যবহার করতে, করুন:

python script.py > helloworld.cpp; g++ helloworld.cpp

110

আপনি কমিক সানকে হরফ হিসাবে ব্যবহার করতে ভুলে গেছেন, এ কারণেই এটির ত্রুটি।


73
দুর্ভাগ্যক্রমে, এটি আমার হাত সমর্থনকারী একমাত্র ফন্ট। এটি খুব দুঃখজনক হবে যদি এর কারণে আমি সি ++ তে প্রোগ্রাম করতে পারিনি। আপনি কি মনে করেন জাভা এই ফন্টটি সমর্থন করবে?
জেমস ম্যাকনেলিস

8
যাইহোক আপনি যখনই কমিকস আঁকার কথা ভাবেন তখন আপনার কমিক সেন্সের প্রয়োজন হবে, তাই আপনার হাত আপগ্রেড করার বিষয়টি গুরুত্বের সাথে বিবেচনা করা উচিত।
শার্পথুথ

8
সি ++ এর জন্য ক্যালিগ্রাফিতে বছরব্যাপী প্রশিক্ষণ প্রয়োজন। আপনার যদি সময় না থাকে তবে ভিজ্যুয়াল বেসিক বা কেবল বাইনারি মেশিন কোড ব্যবহার করে দেখুন (আপনাকে ঠিক তখন 0 এবং 1 এর সঠিক পেতে হবে)।
ফ্র্যাঙ্ক ওস্টারফেল্ড

1
@ ফ্র্যাঙ্ক সি ++ 0x §42.1 / 1 নির্দিষ্ট করে "সমস্ত স্ট্রিং অবশ্যই গথিকের মধ্যে থাকতে হবে।"
মতিন উলহাক

75

শেষ ধনুর্বন্ধকের পরে আমি কোনও নতুন লাইন দেখতে পাচ্ছি না।

যেমন আপনি জানেন: "খালি নয় এমন একটি উত্স ফাইল যদি কোনও নতুন-লাইন চরিত্রের মধ্যে না শেষ হয়, ... আচরণটি অপরিবর্তিত"।


16
হুম। ধন্যবাদ, এই হাস্যকর নিয়মটি C ++ 0x এ মুছে ফেলা হয়েছে। এটি বলেছিল, একটি নতুন লাইনের সাহায্যে এই জাতীয় ফাইলের সমাপ্তি কীভাবে হয়? আমি ভেবেছিলাম আমি পাঠ্যের শেষে পর্যাপ্ত জায়গা রেখেছি (যদি আপনি উত্স ফাইলটি হাইলাইট করেন তবে আমার যে অতিরিক্ত কক্ষটি ছেড়ে গেছে তা আপনার উচিত)। যদিও টিপটির জন্য ধন্যবাদ!
জেমস ম্যাকনেলিস

8
আপনার যদি পর্যাপ্ত সাদা জায়গা না থাকে তবে আমি এটি আমার সিস্টেমে সংকলনের চেষ্টা করতে পারি। আমার চারটি মনিটর রয়েছে যাতে আমি আমার বাম দিকের একজন থেকে সংকলনের চেষ্টা করতে পারি।
টিন ম্যান

74

এই প্রোগ্রামটি বৈধ - আমি কোনও ত্রুটি খুঁজে পাচ্ছি না।

আমার অনুমান যে আপনার মেশিনে আপনার ভাইরাস রয়েছে। আপনি যদি নিজের ড্রাইভটি পুনরায় ফর্ম্যাট করেন এবং অপারেটিং সিস্টেমটি পুনরায় ইনস্টল করেন তবে সেরা হবে।

কীভাবে এটি কার্যকর হয় বা পুনরায় ইনস্টল করতে আপনার যদি সহায়তা প্রয়োজন হয় তবে আমাদের তা জানান।

আমি ভাইরাসকে ঘৃণা করি।


17
হ্যাঁ, লিনাক্স ইনস্টল করার চেষ্টা করুন। আমি আপনার সমস্যার জন্য উইন্ডোজকে দায়ী করি।
রায়েদওয়াল্ড

62

আমি খুঁজে পেয়েছি যে এটি একটি জাদুর চিহ্নিতকারী সহ আমার মনিটরের কাঁচে আমার কোডটি না লিখতে সহায়তা করে, যদিও এটি সত্যই কালো দেখায় nice স্ক্রিনটি খুব দ্রুত পূর্ণ হয় এবং তারপরে যে লোকেরা আমাকে একটি ক্লিন মনিটর দেয় তারা প্রতি সপ্তাহে আমাকে নাম দেয়।

আমার দু'জন কর্মচারী (আমি একজন পরিচালক) আমাকে নকব দিয়ে সেই লাল প্যাডের কম্পিউটারগুলির মধ্যে একটি কিনতে চপ করছে। তারা বলেছে যে আমার চিহ্নিতকারীগুলির প্রয়োজন হবে না এবং আমি পর্দাটি পূর্ণ হয়ে গেলে নিজেই পরিষ্কার করতে পারি তবে এটিকে নাড়াতে আমাকে সতর্ক থাকতে হবে। আমি মনে করি এটি সেভাবেই নাজুক।

এজন্য আমি স্মার্ট লোকদের ভাড়া করি।


2
একজন ওয়াকম সিনটিক একজন পরিচালকের পক্ষে অনেক বেশি উপযুক্ত। এটি ব্যয়বহুল, এবং আপনাকে সত্যই গুরুত্বপূর্ণ বোধ করে। আপনার সংস্থার যেকোন গ্রাফিক ডিজাইনারের অবস্থান অনেক কম থাকবে এবং এজন্য ইজিএ মনিটর ব্যবহার করা উচিত। জেনারেটরের সিজিএ মনিটর ব্যবহার করা উচিত। প্রোগ্রামারদের সেকেন্ড হ্যান্ড একরঙা টার্মিনাল ব্যবহার করা উচিত।
স্টিভ 314

7
আমার একটি "লাইফ লাইক" মনিটর দীর্ঘদিন ছিল। এটি এত বাস্তববাদী ছিল যে আপনি সাঁতার কাটার মাছের স্ক্রিনসভারটি সত্যই বলেছিলেন এবং ছোট্ট ডুবুরির লোকটি দেখতে সাঁতার কাটছিল। আমি নীচে থেকে ধন বুক পেতে চেষ্টা করে আমার হাত ভেজাতে থাকলাম এটি এতই আসল। একমাত্র সমস্যা ছিল স্ক্রিন সেভার সর্বদা চালু ছিল এবং বাস্তববাদী বুদবুদ শোনার জন্য এটি শুনতে শক্ত হয়ে উঠল। ওহ, এবং তারা বলেছে রক্ষণাবেক্ষণের জন্য আমাকে প্রতিদিন মনিটরের শীর্ষে জিনিস ছিটিয়ে দিতে হবে বা স্ক্রিন সেভার কাজ বন্ধ করবে। এটি একবার করেছিল, এবং ছেলে, দু'দিন পরে গন্ধটি সত্যই বাস্তবসম্মত ছিল।
টিন ম্যান

59

File format not recognizedআপনার ফাইলটি সঠিকভাবে ফর্ম্যাট করা দরকার। তার অর্থ আপনার কোডের জন্য সঠিক রঙ এবং ফন্ট ব্যবহার করা। প্রতিটি সংকলকটির জন্য নির্দিষ্ট ডকুমেন্টেশনগুলি দেখুন কারণ এই রঙগুলি সংকলকটির মধ্যে পরিবর্তিত হয়;)


14
ওহ, এই ধরণের অর্থটি বোঝায় ... আমার কাছে ray৯ টি ক্রেয়নের একটি বাক্স রয়েছে, তাই আমি নিশ্চিত যে আমার ঠিক অগ্রভাগের রঙ আছে। আমি কাল কিছু রঙিন নির্মাণের কাগজ তুলে নেব এবং কাগজের অন্য রঙে চেষ্টা করব।
জেমস ম্যাকনেলিস

3
কেবল নিরাপদ থাকতে, আপনি আরও কিছু রঙিন পেন্সিল এবং তেল ভিত্তিক পেইন্ট পান। এটি একটি সুপরিচিত সত্য যে সি ++ বোঝানো হয়েছে সঠিকভাবে ফর্ম্যাট করার জন্য খুব কঠিন ভাষা।
helloworld922

ইয়াপ, এবং হাইলাইটিং মার্কারটি ব্যবহার করতে ভুলবেন না।
শার্পটোথ

6
@ শার্পতুথ - সিনট্যাক্স হাইলাইটিং একটি আইডিই বৈশিষ্ট্য - আপনি এটি হাত দ্বারা করতে চান না। সুতরাং নিশ্চিত করুন যে আপনি সেই হাইলাইটিং মার্কারের সাথে যেতে একটি রোবট আর্ম পেয়েছেন।
স্টিভ 314

56

আপনি প্রসেসরটি ভুলে গেছেন। এটা চেষ্টা কর:

pngtopnm helloworld.png | ocrad | g++ -x 'c++' -

8
উহু! আমি ভেবেছিলাম প্রিপ্রেসেসরটি সংকলকের সাথে অন্তর্ভুক্ত করা হয়েছিল! আমি এমন একটি প্রিপ্রসেসরের সন্ধান করার চেষ্টা করব যা আমার উইন্ডোজ ল্যাপটপে কাজ করে।
জেমস ম্যাকনেলিস

3
@ জেমস ম্যাকনেলিস: প্রিপ্রেসেসর কোনও প্রোগ্রাম নয়, এটি একটি হার্ডওয়্যার জিনিস যা হাইলাইটিং মার্কারের মতো দেখায় - আপনি এটি আপনার পাঠ্যের উপরে নিয়ে যান এবং এটি প্রাকপ্রসেস হয়ে যায়।
শার্পথুথ

49

আপনি কি প্রোগ্রামটি হস্তাক্ষর করে কম্পিউটারে স্ক্যান করেছেন? "হেলিওরল্ড.পিএনজি" দ্বারা এটি বোঝানো হয়েছে। যদি এটি হয় তবে আপনার সচেতন হওয়া দরকার যে সি ++ স্ট্যান্ডার্ড (এমনকি এটির নতুন সংস্করণেও) অপটিক্যাল চরিত্রের স্বীকৃতি উপস্থিতির প্রয়োজন নেই এবং দুর্ভাগ্যক্রমে এটি কোনও বর্তমান সংকলকটিতে optionচ্ছিক বৈশিষ্ট্য হিসাবে অন্তর্ভুক্ত নয়।

আপনি গ্রাফিকগুলি পাঠ্য বিন্যাসে স্থানান্তরিত করার বিষয়ে বিবেচনা করতে পারেন। যে কোনও সরল-পাঠ্য সম্পাদক ব্যবহার করা যেতে পারে; একটি ওয়ার্ড প্রসেসরের ব্যবহার, একটি দুর্দান্ত প্রিন্টআউট তৈরি করতে সক্ষম হওয়ার পরে, সম্ভবত স্ক্যান করার চেষ্টা করার সময় আপনি যে একই ত্রুটি পেয়েছিলেন তার ফলস্বরূপ।

আপনি যদি সত্যই সাহসী হন তবে আপনি আপনার কোডটি একটি ওয়ার্ড প্রসেসরে লেখার চেষ্টা করতে পারেন। এটি প্রিন্ট করুন ওসিআর-এ এর মতো একটি ফন্ট ব্যবহার করে । তারপরে, আপনার প্রিন্টআউটটি নিয়ে তা আবার স্ক্যান করুন then স্ক্যানটি তৃতীয় পক্ষের ওসিআর প্যাকেজটির মাধ্যমে একটি পাঠ্য ফর্ম তৈরি করতে চালানো যেতে পারে। পাঠ্য ফর্মটি তখন অনেকগুলি স্ট্যান্ডার্ড সংকলক ব্যবহার করে সংকলিত হতে পারে।

ডিবাগিং পর্বের সময় যে পরিমাণ পেপার লাগবে তা সম্পর্কে সতর্ক থাকুন।


মুরগি ও ডিমের দ্বিধা: ওসিআর সফ্টওয়্যারটির জন্য কি সি ++ কোড লেখা এবং ওসিআর ছাড়াই এটি সংকলন করা সম্ভব?
jweyrich

5
ভাল, দুহ, আপনি আসল ওসিআরের জন্য সমাবেশটি ব্যবহার করেন use
কেভিন ল্যাকমেন্টমেন্ট

@ জেভিরিচ - আমি মনে করি আপনাকে প্রথমে আপনার এসএম / ওসিআর সরঞ্জামচেন দিয়ে আপনার সি ++ / ওসিআর বুটস্ট্র্যাপ করা দরকার।
মাইকেল বুড়

2
ওহে আ স ম, হ্যাঁ! খোঁচা কার্ডে এএসএম
jweyrich

46

এটি সংকলন করতে নীচে অন্তর্ভুক্ত আঁকুন:

#include <ChuckNorris>

শুনেছি সে সিনট্যাক্স ত্রুটিগুলি সংকলন করতে পারে ...


46
আমি ব্যক্তিগতভাবে পছন্দ করা #include <JonSkeet>
Icode4food

40

দুর্ভাগ্যক্রমে, আপনি তিনটি সংকলক নির্বাচন করেছেন যা সকলেই কেবল সি ++ নয়, একাধিক ভাষাকে সমর্থন করে। আপনি যে প্রোগ্রামিং ভাষাটি ব্যবহার করেছেন সেগুলি তাদের সবার অনুমান করতে হবে। আপনি সম্ভবত ইতিমধ্যে জানেন যে, পিএনজি ফর্ম্যাটটি কেবল সি ++ নয়, সমস্ত প্রোগ্রামিং ভাষার জন্য উপযুক্ত।

সাধারণত সংকলকটি ভাষাটি নিজেই বের করতে পারে। উদাহরণস্বরূপ, পিএনজি যদি স্পষ্টতই ক্রাইওন দিয়ে আঁকেন, সংকলকটি জানতে পারে এতে ভিজুয়াল বেসিক রয়েছে। যদি মনে হয় এটি কোনও যান্ত্রিক পেনসিল দিয়ে আঁকা হয় তবে কাজের জায়গায় ইঞ্জিনিয়ারকে সনাক্ত করা সহজ, ফরটারান কোড লিখে।

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

অতএব, আমি আপনার সংকলকটি এটির পরিবর্তে স্ট্যান্ডার্ড পদ্ধতিটি ব্যবহার করার পরামর্শ দেব যা নীচের কোডটি সি ++ এ রয়েছে। যেহেতু আপনি এখনই আবিষ্কার করেছেন, সি ++ সংকলকরা তারা কী গ্রহণ করবে সে সম্পর্কে খুব আকর্ষণীয়। সুতরাং সি ++ সনাক্ত করার স্ট্যান্ডার্ড উপায় হ'ল ভয়-ভীতি প্রোগ্রামাররা তাদের সি ++ কোড যুক্ত করে। উদাহরণস্বরূপ, নিম্নলিখিত লাইনটি আপনার সংকলককে স্পষ্ট করে দেবে যে নিম্নলিখিতটি সি ++ (এবং তিনি অভিযোগ ছাড়াই এটি আরও সংকলন করতে পারেন)।

// To the compiler: I know where you are installed. No funny games, capice?

10
আমি ভেবেছিলাম #pragmaসংকলকটিতে "বার্তা পাওয়ার" সঠিক উপায়?
লেভ বিশপ

33

আর একবার চেষ্টা কর:

স্পেস শাটলে আপনি ডাইনোসরটি দেখতে পাচ্ছেন?


4
আমি মনে করি একটি টাইপো আছে - এটি হওয়া উচিত endl(এল) নয় end1(এক)। তবে +1 সুন্দরভাবে সম্পন্ন হয়েছে!
রূপ

44
আমি এটি তিন ঘন্টা ধরে দেখছি কিন্তু আমি এখনও ডাইনোসর বা স্পেস শাটল দেখতে পাচ্ছি না। :-(
ওস্টারওয়াল

32

আপনার সংকলক বিশেষজ্ঞ মোডে সেট করা আছে ?! হ্যাঁ, এটি সংকলন করা উচিত নয়। আধুনিক সংকলকরা "হ্যালো ওয়ার্ল্ড!" ক্লান্ত হয়ে পড়েছেন!


27

ওসিআর বলেছেন:

N lml_e <loJ+_e__}

.lnt Mk.,n ( ln+ _rSC Lhc_yh )
h_S_
_l

s_l . co__ <, " H llo uo/_d ! '` << s l . ena_ .
TP__rn _ |
_|

যা বেশ সুন্দর, ফেয়ার হতে ভাল।


4
বাহ, ওসিআর উন্নত হয়েছে যখন থেকে আমি আমার হস্তাক্ষরটি স্ক্যান করার চেষ্টা করেছি (এটি সরাসরি লেখার জন্য ঘন্টা সময় ব্যয় করেছি)।
জেমস পি।

40
আমি মনে করি আমাদের একটি পার্ল ট্যাগ যুক্ত করা দরকার।
এমসাল্টারস

26

helloworld.png: ফাইল স্বীকৃত নয়: ফাইল ফর্ম্যাটটি স্বীকৃত নয়

স্পষ্টতই, আপনার হার্ড ড্রাইভটি ফর্ম্যাট করা উচিত।

সত্যিই, এই ত্রুটিগুলি পড়া খুব কঠিন নয়।


20

আমি আপনার প্রোগ্রামটি পিএনজি থেকে এএসসিআইআইতে রূপান্তর করেছি, তবে এটি এখনও সংকলন করে না। আপনার তথ্যের জন্য, আমি লাইন প্রস্থ 100 এবং 250 অক্ষর দিয়ে চেষ্টা করেছি তবে উভয়ই তুলনামূলক ফলাফলে ফলন করেছি।

   `         `  .     `.      `         ...                                                         
   +:: ..-.. --.:`:. `-` .....:`../--`.. `-                                                         
           `      `       ````                                                                      
                                                                      `                             
   ` `` .`       ``    .`    `.               `` .      -``-          ..                            
   .`--`:`   :::.-``-. : ``.-`-  `-.-`:.-`    :-`/.-..` `    `-..`...- :                            
   .`         ` `    ` .`         ````:``  -                  ` ``-.`  `                            
   `-                                ..                           ``                                
    .       ` .`.           `   `    `. ` .  . `    .  `    . . .` .`  `      ` ``        ` `       
           `:`.`:` ` -..-`.`-  .-`-.    /.-/.-`.-.  -...-..`- :```   `-`-`  :`..`-` ` :`.`:`- `     
            ``  `       ```.      ``    ````    `       `     `        `    `         `   `   .     
            : -...`.- .` .:/ `                                                                      
    -       `             `` .                                                                      
    -`                                                                                              
    `                                                                                               

8
আপনি সম্ভবত ব্যবহার করা উচিত 80 বা এমনকি 72 কলাম পরিবর্তে
Tobias Kienzler

16

প্রথম সমস্যাটি হ'ল, আপনি মূল ফাংশনের শেষে একটি ভুল মান ফেরানোর চেষ্টা করছেন। সি ++ স্ট্যান্ডার্ড নির্দেশ দেয় যে রিটার্ন টাইপের মেইন () প্রকার হয় তবে পরিবর্তে আপনি খালি সেটটি ফেরত দেওয়ার চেষ্টা করছেন।

অন্যান্য সমস্যাটি হ'ল - কমপক্ষে জি ++ সহ - সংকলকটি ফাইল প্রত্যয় থেকে ব্যবহৃত ভাষাটি হ্রাস করে। জি ++ (1) থেকে:

যে কোনও ইনপুট ফাইলের জন্য, ফাইলের নাম প্রত্যয়টি নির্ধারণ করে যে কী ধরনের সংকলন করা হয়েছে:

file.cc file.cp file.cxx file.cpp file.CPP file.c ++ file.C

সি ++ উত্স কোড যা অবশ্যই প্রিপ্রোসেস করা উচিত। নোট করুন যে .cxx এ, শেষ দুটি অক্ষর দুটি অক্ষরে অক্ষরে x হতে হবে। তেমনি, .সি একটি আক্ষরিক মূলধন সি বোঝায়।

এই স্থির একটি সম্পূর্ণরূপে কাজ হ্যালো ওয়ার্ল্ড আবেদন সঙ্গে আপনি ছেড়ে দেওয়া উচিত যেমন ডেমো থেকে দেখা যায় এখানে


3
আমার একজন প্রফেসর ফিরে এসেছিলেন যখন কে আপনার হোমওয়ার্ক বা পরীক্ষাগুলি বন্ধ করে দেবে যদি আপনি শূন্য শূন্য থেকে শূন্য অঙ্কের মাধ্যমে স্ল্যাশ রাখেন তবে নকল সেটটি নেই। তিনি এই উত্তর প্রশংসা করবে।
মাইকেল বুড়


13

আপনার সংকলকরা ASCII প্রত্যাশা করছেন , তবে সেই প্রোগ্রামটি অবশ্যই EBCDIC ব্যবহার করে রচিত ।


সর্বশেষ আমি শুনেছি সি ++ নির্দিষ্ট করে না যে প্রোগ্রামগুলি ASCII, UTF-8 বা অন্য কোনও কিছুতে লিখতে হবে।
অ্যাড্রিয়ান রত্নপালা

8

আপনি একটি চিত্র সংকলন করার চেষ্টা করছেন।

মেইন.পি.পি. বলে একটি ডকুমেন্টে আপনি কী লিখেছেন তা টাইপ করুন, সেই ফাইলটি আপনার সংকলকের মাধ্যমে চালান, তারপরে আউটপুট ফাইলটি চালান।


23
আপনার পিসিতে তারিখটি পরীক্ষা করুন।
জেমস পি।

14
হাহা, তবে শেষ পর্যন্ত আমি সহজেই উত্তর দিতে পারলাম!
কোডি গ্রে

10
এটা বোকামি. আমরা সকলেই জানি যে সংকলকটি সাদা স্থানটিকে অপ্টিমাইজ করবে, কেবলমাত্র ভারী সংকীর্ণ কালো-স্থান ছেড়ে, যা সমস্ত কিছু এবং একটি বাইনারি 1 এ সংকোচিত হবে যা ত্রুটি হিসাবে ফিরে আসবে। হোয়াইট আউট ব্যবহার করে কোডটি লিখতে হবে যা 0 টি সংকলন করে এবং কোনও ত্রুটি ফেরায় না।
টিন ম্যান

7

চূড়ান্ত সমাপ্তি বন্ধনীটির অবিলম্বে আপনার আউটপুটটির যথার্থতা একটি কোলন দ্বারা পূর্বে নির্দিষ্ট করা দরকার । যেহেতু আউটপুট সংখ্যাসূচক নয়, যথার্থতা শূন্য, সুতরাং আপনার এটি দরকার -

: 0}


5

যুক্ত করুন:

using namespace std;

ঠিক পরে অন্তর্ভুক্ত: পি: ডি


5
আমি stdসব সময় টাইপ করা পছন্দ করি । একটি না পাওয়ার জন্য আমাকে মনে করিয়ে দেয়।
মতিন উলহাক

5

দেখে মনে হচ্ছে যে আপনার সংকলক এই জাতীয় হুম ... এনকোডিংগুলিতে ফাইলগুলি সমর্থন করে না। এএসসিআইআইতে রূপান্তর করার চেষ্টা করুন।


5

সমস্যাটি সিনট্যাক্স সংজ্ঞায় অন্তর্ভুক্ত, আরও ধ্রুপদী বর্ণনার জন্য রুলার এবং কম্পাসগুলি ব্যবহার করার চেষ্টা করুন!

চিয়ার্স,


5

ইনপুট ইন্টারফেস পরিবর্তন করার চেষ্টা করুন। সি ++ আপনার কম্পিউটারে কোনও কীবোর্ড প্লাগ ইন করার প্রত্যাশা করে, কোনও স্ক্যানার নয়। পেরিফেরাল সংঘাতের সমস্যাগুলি এখানে থাকতে পারে। কীবোর্ড ইনপুট ইন্টারফেস বাধ্যতামূলক কিনা আমি আইএসএস স্ট্যান্ডার্ডে যাচাই করিনি, তবে আমি যে সমস্ত কম্পাইলার ব্যবহার করেছি তার ক্ষেত্রে এটি সত্য। তবে সম্ভবত স্ক্যানার ইনপুট এখন সি 99 এ উপলব্ধ এবং এই ক্ষেত্রে আপনার প্রোগ্রামটি সত্যই কাজ করা উচিত। তা না হলে আপনাকে পরবর্তী স্ট্যান্ডার্ড রিলিজ এবং সংকলকগুলির আপগ্রেড করতে হবে।


5

বন্ধনীগুলির জন্য আপনি বিভিন্ন রঙ চেষ্টা করতে পারেন, সম্ভবত কিছু সবুজ বা লাল সাহায্য করবে? আমি মনে করি আপনার সংকলকটি কালো কালি সনাক্ত করতে পারে না: পি


5

আমি কি কেবল সেই ব্যক্তি যে 'রিটার্ন' এবং সেমিকোলনের মধ্যে চরিত্রটি চিনতে পারি না? এটা হতে পারে!


4
এটি একটি মূল রেখার হে একটি বিশেষ রেখার সাথে আমরা "ব্যাস" বলি, যা সংকলককে মিডপয়েন্ট সার্কেল অ্যালগরিদমকে স্পষ্টতই ব্যবহার করতে বলে। আমি মনে করি আপনার চোখ পরীক্ষা করা উচিত।
মতিন উলহাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.