作者查詢 / tinlans
作者 tinlans 在 PTT [ C_and_CPP ] 看板的留言(推文), 共3005則
限定看板:C_and_CPP
看板排序:
全部Stock3379C_and_CPP3005Gossiping2092Free_box1417Soft_Job331Lifeismoney326Option232P2PSoftWare219Programming190CSSE166AVEncode113Windows99AntiVirus95Tech_Job79OOAD65mud48Hsinchu47SYSOP38TKU_Software25Broad_Band21Linux19Google16Network16Storage_Zone16Salary11DigiCurrency9japanavgirls9NTU9H-GAME8NTPU-IIM988HatePolitics7Railway7LinuxDev6PLT6Virgo6C_Chat5rent-exp5Soushan3035VISA5AboutBoards4Acad-Affairs4ACG_SNS4AllisonLin4Audiophile4BabyMother4ChangHua4DIABLO4Fallinlove4FATE_GO4hardware4HisService4Kaohsiung4lesbian4LoL4Marginalman4media-chaos4Minecraft4movie4MRT4NCHUS4NIHONGO4NPTU4NTUST_Talk4PC_Shopping4Plant4PokemonGO4ProjectSekai4SportLottery4TaichungBun4TaiwanDrama4Taiwanlit4Teacher4TW-GHONOR4UmaMusume4uniform4Violation4Volunteer4WomenTalk4biker3C_Sharp3CYUT3Education3HSNU_11463joke3NccuEco_BMT3PhD3Trading3ASHS-95RN2C_BOO2CCU_EE962Disabled2FoodDelivery2HCSHch13_3112home-sale2iOS2KNU2NSYSU_MSOE992NUU_CSIE2PDA2PeopleSeries2SET2sex2STUST2ASM1cksh84th3121Coffee1CSMU-HSA961DPP1EarthQuake261EarthQuake431EarthScience1Employee1Engineer1fastfood1FJU-LAW20101FreeBSD1GossipPicket1juniorhigh1lab6211Militarylife1Modchip1Nantou1NDSH_6th3141NTCUST1NTPU-CSIE961NTUGIPO_307A1ONE_PIECE1PCSH91_3051Ptt-Press1PttHistory1Singapore1SuperHeroes1THU-CHE961TigerBlue1TKU_Aero_35A1TKU_EE_92C1<< 收起看板(136)
18F→: 在過去,template 的資訊在編譯後就完全消失了,這帶來了04/12 20:23
19F→: 很多不便,後來做 LTO 時各家編譯器開始設法保存原始碼的04/12 20:24
20F→: 資訊到編譯後的產物裡,這也是為什麼你會問到 modules04/12 20:25
21F→: 可以這樣的原因,但它本質上其實並沒有多少改變。04/12 20:26
22F→: 另外你的用語是有問題的,template 應該放在後面,兩個04/12 20:27
23F→: 名詞放在一起時是名詞修飾名詞,後面的名詞才是主體。04/12 20:27
24F→: class template、function template 這樣寫才對。04/12 20:28
25F→: 至於為什麼要強調這個?因為 template 在 C++ 就是一種04/12 20:28
26F→: 還沒有實體的骨架這樣的東西,需要被實體化。04/12 20:29
27F→: 你顛倒過來寫,如果不是英語不好,那就是基礎概念理解上04/12 20:31
28F→: 存在嚴重的誤區。04/12 20:31
29F→: 「相當於直接變成MyApp的header」這描述也很奇怪,header04/12 20:45
30F→: 的從屬性是跟著 project 走,所以你其它地方描述倒是沒啥04/12 20:45
31F→: 問題,只是 header 寫出來就是給人家 include 的,只要04/12 20:46
32F→: include 了就是用到了它,但從屬關係並不會因此改變。04/12 20:46
33F→: 不過這裡講的 header 從屬性是更抽象的概念,和 C++ 還有04/12 20:47
34F→: 它的編譯連結特性不存在任何關係。04/12 20:48
6F→: C 語言的 struct definition 不會被編譯到 object file03/02 03:45
7F→: 裡面去,所以在 linking time 完全遺失這項資訊。03/02 03:45
8F→: 但你的問題主要不在於這件事上,而是你在 main.c 沒有告03/02 03:47
9F→: 知 compiler 說 DATA 這個 identifier 是什麼東西,缺乏03/02 03:47
10F→: 了 DATA 的 declaration。03/02 03:48
11F→: 又因為你在 main.c 嘗試存取 test.i 也就是 DATA 的成員03/02 03:49
12F→: ,此處需要 DATA 的 definition,否則 compiler 不知道 i03/02 03:50
13F→: 的 type 以及它的 address offset 是多少,所以報錯。03/02 03:51
14F→: 你遇到的問題不是 linking-time error 而是 compile-time03/02 03:55
15F→: error,所以一開始的思路就錯了,有些基礎需要重新加強。03/02 03:55
16F→: 宣告(declaration)和定義(definition)這兩個詞彙也得好好03/02 03:57
17F→: 重新理解,找不到適當的文章的話,問看看 ChatGPT。03/02 03:57
18F→: 另外,你對 extern 這個關鍵字的理解也有問題,它修飾的03/02 04:04
19F→: 對象是 test 不是 struct DATA test 整段,也不是 struct03/02 04:04
20F→: DATA,這只是告訴 compiler 說 test 被 define 在別處。03/02 04:05
43F→: 你先好好描述你正在解決什麼問題,不是要你描述為什麼要11/12 04:02
44F→: 用到這樣的語法或者語言機制上的需求,而是你的程式本身11/12 04:03
45F→: 是寫來替你達成什麼目的。這目的是那種講給非程式設計師11/12 04:05
46F→: 聽都聽得懂的那種,無關任何程式語言或語法。11/12 04:05
47F→: 你的情況比較像是拿電鋸在轉開螺絲,然後問大家如何用11/12 04:19
48F→: 電鋸把螺絲轉開,但大家都疑惑平常沒人拿電鋸去轉開螺絲11/12 04:19
49F→: ,因此必須從你一開始到底想幹嘛開始理解才行。11/12 04:20
50F→: 有可能講清楚以後,大家才知道你根本連轉開這螺絲都不必11/12 04:21
51F→: ,這樣建議你別用電鋸或改用螺絲起子都只是在浪費時間。11/12 04:22
52F→: 所以你先用地理老師都聽得懂的方式說明一下你正在幹嘛。11/12 04:28
12F→: 這東西不是幾十年前侯捷就秀過一波了?08/29 20:36
7F→: 可能近年都在寫交易系統的關係,06/28 01:45
8F→: 比起 Rust 我更關注 Carbon06/28 01:45
9F→: 如果還留在半導體業我大概也會直接押寶 Rust06/28 01:48
16F→: 幹嘛這麼排斥裝 lib,vcpkg 明明很好用,libssh2 裝一裝06/11 02:51
50F→: 把全國轉信板 programming 放哪裡了 XD10/14 10:45
12F→: 從大一開始寫 python,結果跟類別不熟? 我認識一個大陸07/13 02:24
13F→: 醫學院的學生,看 bilibili 一個禮拜學會 python 還會寫07/13 02:24
14F→: 類別,python 明明就有類別概念。07/13 02:24
7F→: 主要還是看處理器架構,有些架構可以選用不同 memory05/25 02:20
8F→: model 來避免效能損失太嚴重。05/25 02:20
8F→: C++ 用 reinterpret_cast<> 轉,不用開 -fpermissive。04/29 09:03
9F→: 這 C API 典型的用法之一,傳的人不想去 heap 上配一塊就04/29 09:04
10F→: 直接轉型傳,翻 pthread_create() 的範例很容易找到。04/29 09:04