C_and_CPP 板


LINE

※ 引述《QQ29 (我爱阿蓉)》之铭言: : 我没有自己写过lib或是dll : 而我一直有自以为对的一个观念就是 : .h和.cpp .cpp可以换成lib : lib就是.cpp , 实作的包装.... 但其实要我解释 lib到底是什麽我也不知道 : 他先把CPP 作成lib 是把cpp档案textfile 作了什麽事呢?? : 我试着google一下 看比较general解释 都不太解释我想问的这个部份 : 想请版友给点指点~~ 计概课本会告诉你, 纯文字的程式码经过 compile 以後变成 object file, 把一个或多个 object files 做 linking 之後就会变成 executable file。 static lib 其实就是很多 object files 的 archive, 也就是把一堆编译出来的 .obj (或 .o)档封在一个档案里, 这样你在 linking 的时候只要指定一个 lib 档而不需要指定一堆 objec files。 : 然而dll更是我完全没碰过的东西 : 我只知道我执行程式时 要把该用的dll摆好 而dll在compile time是没有关系的.. : 也是google了一下 知识+之类的 解释的让我更不懂了 : 有提到什麽许多程式共用的XXXXX (不知道是什麽...) : 那如果共用 不会造成race condition或是什麽之类的怪事情嘛? 共用 text section 并不会有什麽问题, 因为那个地方本来就不允许在 runtime 被写入新值, 而且里面的 code 一般会被编译成 position independent code, 所以存取资料上也不会发生奇怪的问题。 : 一般写程式 我就没有碰过真的需要自己写dll这件是 导致我真的对这一无所知 : 只知道她好像是run time程式会去跟他作某些事情.... : 请大家给一点正确的观念好嘛..... : 是什麽必要 会需要去写dll呢? 可以共用 text section 的意义当然就是省 memory, 另外一个就是为了弹性, 不过怎麽做到弹性这点就真的说来话长了, 建议你自己动手玩过 DLL 以後再来问进一步的问题。 物件导向的技术也能用在 DLL 上, 比方说 header 只有 base class, dervied classes 被实作在 DLL 内, 设计核心部分的人只需要以多型的方式利用物件即可, 元件导向的程式开发模式也常会用这种技巧; 不过你想在 Windows 上玩这招可能还会遇上一些问题, 特别是跨 DLL 用 new/delete 可能会有事, 但现在讲这些可能也太早了。 -- Ling-hua Tseng ([email protected]) Department of Computer Science, National Tsing-Hua University Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Software pipelining for VLIW architectures Homepage: https://www.tinlans.org --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.160.115.183
1F:推 VictorTom:小弟我才他google到的.dll共用应该只是解释一般人使用上 04/30 03:03
2F:→ VictorTom:.dll的运作看起来是共用的, 而不是code/binary的内容@@" 04/30 03:03
3F:推 QQ29:请教一下 您说static lib 其实就是很多object files的archive 04/30 03:18
4F:→ QQ29:意思是说不是一个.cpp变成一个lib而是可以全部变成一个lib? 04/30 03:19
5F:→ QQ29:另外看了一下您的网页....您六岁就开始接触程式= =太神了吧 04/30 03:22
6F:→ sunneo:tinlans等级颇高的 04/30 04:01
7F:→ MOONRAKER:几岁开始不重要啦 以前因为电脑没什麽好玩 所以要玩电脑 04/30 04:42
8F:→ MOONRAKER:就一定要写程式 重点是後来怎样 这可不是我在酸 04/30 04:43
9F:→ MOONRAKER:我小时候也玩某种仿水果电脑 可是现在混得太烂所以没啥 04/30 04:45
10F:→ MOONRAKER:好讲的 -_- 04/30 04:45
11F:→ sunneo:我小时候也是用qbas/etbas写了简易的战车游戏 04/30 04:47
12F:→ sunneo:不过程式码丑毙了 全都挤在同一个bas 还goto了一堆 04/30 04:48
13F:→ sunneo:最後就连维护都很懒了 04/30 04:48
14F:→ sunneo:csse的`怎麽知道适不适合走程式这条路`的答案是维持的动力 04/30 04:50
15F:→ sunneo:不过看最近新闻...国小作机器人 还有以前某个写ga组合midi 04/30 04:52
16F:→ sunneo:倒是蛮令人惊奇的... 04/30 04:52
17F:推 sunneo:资料共用在nt以上应该都不会是预设 95/98才是 04/30 05:01
18F:推 VictorTom:国小写控制机器人那些似乎是有现成的套件的样子喔@_@" 04/30 10:28
19F:→ VictorTom:不过小小年纪就可以把逻辑/控制搞清楚实作出来也不简单. 04/30 10:29
20F:→ VictorTom:话说, QB里不是本来很多地方就在goto的吗?_? 04/30 10:29
21F:→ MOONRAKER:QB有比较decent的function/sub了 ETBAS是GWBASIC那一期 04/30 10:54
22F:→ MOONRAKER:的,没有这些近代的program unit,不是goto就要靠gosub 04/30 10:54
23F:推 VictorTom:啊对不起, 我搞错了, 我说的应该是BASIC, 那个还可以自 04/30 13:13
24F:→ VictorTom:己打行号: 10 xxxx 20 xxxx 30 xxxx 的那个Orz 04/30 13:14
25F:→ tinlans:每个 .cpp 可以各自变成 .obj,这些 .obj 可收成一个 lib 05/01 14:46







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP