คำถามติดแท็ก c++

C ++ เป็นภาษาโปรแกรมทั่วไป เดิมได้รับการออกแบบให้เป็นส่วนขยายของ C และมีไวยากรณ์ที่คล้ายกัน แต่ตอนนี้มันเป็นภาษาที่แตกต่างอย่างสิ้นเชิง ใช้แท็กนี้สำหรับคำถามเกี่ยวกับรหัส (จะ) คอมไพล์ด้วยคอมไพเลอร์ C ++ ใช้แท็กเฉพาะรุ่นสำหรับคำถามที่เกี่ยวข้องกับการแก้ไขมาตรฐานเฉพาะ [C ++ 11], [C ++ 14], [C ++ 17] หรือ [C ++ 20] เป็นต้น

3
-fPIC หมายถึงอะไรเมื่อสร้างไลบรารีที่ใช้ร่วมกัน
ฉันรู้ว่า-fPICตัวเลือก '' เกี่ยวข้องกับการแก้ไขที่อยู่และความเป็นอิสระระหว่างแต่ละโมดูล แต่ฉันไม่แน่ใจว่ามันหมายถึงอะไร คุณสามารถอธิบาย?
109 c++  c  gcc  fpic 

17
ฉันจะสร้างไดเร็กทอรีทรีใน C ++ / Linux ได้อย่างไร
ฉันต้องการวิธีง่ายๆในการสร้างไดเรกทอรีหลายรายการใน C ++ / Linux ตัวอย่างเช่นฉันต้องการบันทึกไฟล์ lola.file ในไดเร็กทอรี: /tmp/a/b/c แต่ถ้าไม่มีไดเรกทอรีฉันต้องการให้สร้างโดยอัตโนมัติ ตัวอย่างการทำงานจะสมบูรณ์แบบ
109 c++  linux  directory 

6
วิธีเชื่อมโยงโปรแกรม C ++ กับ Boost โดยใช้ CMake
ไฟล์ CMake ของฉันควรมีลักษณะอย่างไรสำหรับการเชื่อมโยงโปรแกรมของฉันกับไลบรารี Boost ภายใต้ Ubuntu ข้อผิดพลาดที่แสดงระหว่างการทำงานmake: main.cpp:(.text+0x3b): undefined reference to `boost::program_options::options_description::m_default_line_length' ไฟล์หลักนั้นง่ายมาก: #include <boost/program_options/options_description.hpp> #include <boost/program_options/option.hpp> using namespace std; #include <iostream> namespace po = boost::program_options; int main(int argc, char** argv) { po::options_description desc("Allowed options"); desc.add_options() ("help", "produce help message") ; return 0; } ฉันจัดการไปแล้ว บรรทัดเดียวที่ฉันเพิ่มลงในไฟล์ CMake คือ: target_link_libraries( my_target_file …
109 c++  boost  cmake 

7
การกำหนดสมาชิกคงที่ const จำนวนเต็มในนิยามคลาส
ความเข้าใจของฉันคือ C ++ อนุญาตให้กำหนดสมาชิก const แบบคงที่ภายในคลาสได้ตราบใดที่เป็นประเภทจำนวนเต็ม เหตุใดรหัสต่อไปนี้จึงทำให้ฉันมีข้อผิดพลาดตัวเชื่อมโยง? #include <algorithm> #include <iostream> class test { public: static const int N = 10; }; int main() { std::cout << test::N << "\n"; std::min(9, test::N); } ข้อผิดพลาดที่ฉันได้รับคือ: test.cpp:(.text+0x130): undefined reference to `test::N' collect2: ld returned 1 exit status ที่น่าสนใจคือถ้าฉันแสดงความคิดเห็นเกี่ยวกับการเรียกไปที่ std :: min โค้ดจะคอมไพล์และลิงก์ได้ดี …

5
เหตุใด Rand ()% 6 จึงเอนเอียง
เมื่ออ่านวิธีใช้ std :: rand ฉันพบโค้ดนี้ในcppreference.com int x = 7; while(x > 6) x = 1 + std::rand()/((RAND_MAX + 1u)/6); // Note: 1+rand()%6 is biased มีอะไรผิดปกติกับนิพจน์ด้านขวา? พยายามแล้วและทำงานได้อย่างสมบูรณ์
109 c++  random  std 

5
มีตัวถอดรหัสชื่อออนไลน์สำหรับ C ++ หรือไม่? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันได้รับข้อผิดพลาดในการเชื่อมโยงที่ค่อนข้างยาวและสับสนและจะชอบมากถ้าฉันสามารถวางลงในกล่องข้อความบนเว็บไซต์บางแห่งและมีชื่อที่ไม่สับสนสำหรับฉัน มีใครรู้จักบริการดังกล่าวบ้าง?
109 c++  demangler 


6
ใช่ / ไม่ใช่กล่องข้อความโดยใช้ QMessageBox
ฉันจะแสดงกล่องข้อความที่มีปุ่มใช่ / ไม่ใช่ใน Qt ได้อย่างไรและฉันจะตรวจสอบได้อย่างไรว่าปุ่มใดถูกกด? ได้แก่ กล่องข้อความที่มีลักษณะดังนี้:
109 c++  qt  qmessagebox 

4
ฉันจะสร้าง. exe ที่เชื่อมโยงแบบคงที่โดยสมบูรณ์ด้วย Visual Studio Express 2005 ได้อย่างไร
สภาพแวดล้อม C ++ ที่ฉันต้องการในปัจจุบันคือ Microsoft Visual Studio 2005 Express edition ฟรีและยอดเยี่ยมมาก บางครั้งฉันได้ส่งไฟล์. exe ไปยังบุคคลอื่นด้วยผลลัพธ์ที่น่าพึงพอใจ อย่างไรก็ตามเมื่อไม่นานมานี้ฉันได้ค้นพบที่น่าวิตกว่าผลลัพธ์ที่น่าพึงพอใจนั้นขึ้นอยู่กับโชคที่ฉันต้องการมากกว่า ความพยายามที่จะเรียกใช้โปรแกรมเหล่านี้บนกล่อง XP (รุ่นเก่าปี 2001 ไม่ได้รับการอัปเดตอย่างรอบคอบ) ทำให้ฉันไม่มีอะไรนอกจากข้อความ "System can't run x.exe" (หรือคล้ายกัน) ที่น่ารังเกียจ googling บางคนเปิดเผยว่าด้วยชุดเครื่องมือนี้แม้กระทั่งการระบุผลลัพธ์การลิงก์แบบคงที่ใน hello-world.exe ที่เรียบง่ายโดยอาศัยไฟล์. dll พิเศษ (msvcm80.dll เป็นต้น) ระบบแผนผังเวอร์ชันที่ซับซ้อนอย่างไม่น่าเชื่อ (ไฟล์รายการทุกคน?) จะไม่ปล่อยให้. exe ทำงานโดยไม่มีเวอร์ชัน. dll ที่ถูกต้อง ฉันไม่ต้องการหรือต้องการสิ่งนี้ฉันแค่ต้องการ. exe แบบเก่าที่มีอยู่ในตัวเองที่ไม่ทำอะไรเลยนอกจากการดำเนินการ Win32 ตัวหารทั่วไปที่ต่ำที่สุดและทำงานบน win32 OS เก่า …

7
ผลลัพธ์ทศนิยมที่แตกต่างกันเมื่อเปิดใช้งานการเพิ่มประสิทธิภาพ - บั๊กคอมไพเลอร์?
โค้ดด้านล่างทำงานบน Visual Studio 2008 ที่มีและไม่มีการปรับให้เหมาะสม แต่ใช้ได้เฉพาะกับ g ++ โดยไม่มีการปรับให้เหมาะสม (O0) #include <cstdlib> #include <iostream> #include <cmath> double round(double v, double digit) { double pow = std::pow(10.0, digit); double t = v * pow; //std::cout << "t:" << t << std::endl; double r = std::floor(t + 0.5); //std::cout << "r:" << …
109 c++  optimization  g++  c++-faq 

5
ใช้ std :: set comparator ที่กำหนดเอง
Наэтотвопросестьответына Stack Overflow нарусском : Компаратордля set ฉันพยายามเปลี่ยนลำดับเริ่มต้นของรายการในชุดจำนวนเต็มให้เป็นพจนานุกรมแทนตัวเลขและฉันไม่สามารถรวบรวมสิ่งต่อไปนี้ด้วย g ++: file.cpp: bool lex_compare(const int64_t &a, const int64_t &b) { stringstream s1,s2; s1 << a; s2 << b; return s1.str() < s2.str(); } void foo() { set<int64_t, lex_compare> s; s.insert(1); ... } ฉันได้รับข้อผิดพลาดต่อไปนี้: error: type/value mismatch at argument 2 in template …
109 c++  stl 

5
LPCSTR, LPCTSTR และ LPTSTR
สิ่งที่แตกต่างระหว่างLPCSTR, LPCTSTRและLPTSTR? ทำไมเราต้องทำสิ่งนี้เพื่อแปลงสตริงเป็นตัวแปรLV/ _ITEMโครงสร้างpszText: LV_DISPINFO dispinfo; dispinfo.item.pszText = LPTSTR((LPCTSTR)string);
109 c++  windows  visual-c++  mfc 

6
โครงสร้าง C / C ++ เทียบกับคลาส
หลังจากจบคลาส C ++ สำหรับฉันแล้วโครงสร้าง / คลาสแทบจะเหมือนกันยกเว้นมีความแตกต่างเล็กน้อยเล็กน้อย ฉันไม่เคยตั้งโปรแกรมใน C มาก่อน แต่ฉันรู้ว่ามันมีโครงสร้าง ใน C เป็นไปได้ไหมที่จะสืบทอดโครงสร้างอื่น ๆ และตั้งค่าตัวปรับแต่งของสาธารณะ / ส่วนตัว? ถ้าคุณทำได้ใน C ปกติทำไมเราถึงต้องการ C ++ ในโลกนี้? อะไรทำให้คลาสแตกต่างจากโครงสร้าง?
109 c++  class  struct 

10
“ โปรดตรวจสอบว่า gdb is codeigned - ดูที่ taskgated (8)” - จะติดตั้ง gdb ด้วยการลงนามรหัส homebrew ได้อย่างไร?
ฉันใช้ osx 10.8.4 และได้ติดตั้ง gdb 7.5.1 ด้วย homebrew (แรงจูงใจในการรับ gdb ใหม่พร้อมคุณสมบัติใหม่เช่น - พร้อม - python ฯลฯ ... ) เรื่องสั้นสั้นเมื่อฉันเรียกใช้ debug ภายในโครงการ c ++ Eclipse ฉันได้รับ: Error in final launch sequence Failed to execute MI command: -exec-run Error message from debugger back end: Unable to find Mach task port for process-id …
109 c++  eclipse  macos  gdb  homebrew 


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.