C_and_CPP 板


LINE

开发平台(Platform): (Ex: Win10, Linux, ...) Linux 编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出) Makefile 额外使用到的函数库(Library Used): (Ex: OpenGL, ...) Nope 问题(Question): 根目录底下刚开始有的档案 Makefile Neko.bin FUNCTION_0.txt FUNCTION_1.txt FUNCTION_2.txt FUNCTION_3.txt 依照生出来的Cat.bin去决定我要把哪个FUNCTION给送出去 喂入的资料(Input): 直接执行make Makefile all 预期的正确结果(Expected Output): 原本的流程, Cat.bin是在这个Makefile才生出来的玩意儿 这里为了模拟, 所以多做了cp ./Neko.bin ./Cat.bin的动作, 然後拿Cat.bin做计算 TT的值预期会生出0~3随机数字(因为每次执行, Neko.bin的size都会改变) 预期在每次计算完Cat.bin的size後 选择对应的FUNCTION_$(1).txt送到其他资料夹去.(在此单纯用cp而已) 错误结果(Wrong Output): all 的第四行目前没办法正常取出TT的值带入PATH的$(1) 曾经用过define去定义expr `du -b ./Cat.bin|cut -f1` % 4 想当然而程式看不懂 cp ./FUNCTIONexpr `du -b ./Neko_tmp.bin|cut -f1` % 4.txt ./YAAAAA.GG 程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档) #define TestDef #expr `du -b ./Cat.bin|cut -f1` % 4 #endef PATH=./FUNCTION_$(1).txt all: cp ./Neko.bin ./Cat.bin expr `du -b ./Cat.bin|cut -f1` % 4 > TT cat TT # cp $(call PATH, $(call TestDef)) ./ YAAAAAA.GG cp $(call PATH, echo`cat TT`) ./YAAAAA.GG rm Cat.bin TT echo "TEST END....." 如果有其他问题麻烦告知, 感谢. 另外想问问, 有没有可以模拟Makefile的模拟网页...(囧 感谢C_and_CPP版 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.51.192 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1634809815.A.7FA.html
1F:推 closer76: 总觉得你这些事情不需要用make来做...写 shell script 10/21 19:39
2F:→ closer76: 会不会比较快? 10/21 19:39
3F:推 closer76: 如果你真的需要makefile帮你产生cat.bin,也可以剩下的 10/21 19:47
4F:→ closer76: 动作写在shell script里,然後makefile就单纯call那个 10/21 19:47
5F:→ closer76: script 就好。不需要所有的事都用makefile完成。 10/21 19:48
6F:推 Schottky: 同意一楼,你要做的事完全没有使用到 Makefile 的机能 10/21 20:25
7F:→ Schottky: 把 all: 里面的指令全部放进 shell script 不就解决了? 10/21 20:26
8F:→ Schottky: Makefile 不是不能做到,但很容易让你的脑筋打结 10/21 20:27
先感谢各位给的建议, 也感谢下一篇的回文. (抱歉回晚了.) 我先前确实有考虑过用shell的方式 但是会碰上shell的内容会在all执行前先做.. 以下是Makefile主程式码 PTTNum = $(shell expr `du -b ./Cat.bin|cut -f1` % 4) PATH=./FUNCTION_$(1).txt all: cp ./Neko.bin ./Cat.bin cp $(call PATH,$(PTTNum)) ./YAAAAA.GG rm Cat.bin TT echo "TEST END....." 以下是执行错误纪录 xxxx@TWPC:~$ make Makefile all make: Nothing to be done for `Makefile'. du: cannot access `./Cat.bin': No such file or directory expr: syntax error cp ./Neko.bin ./Cat.bin cp ./FUNCTION_.txt ./YAAAAA.GG cp: cannot stat `./FUNCTION_.txt': No such file or directory make: *** [all] Error 1 不过我目前的认知, 所谓的"写动作在 shell script里" 应该是类似 peterbrucele 提供的例子 把 function = $(shell ~~~)写在同一个makefile内, 要用时再去call就好. 如果不是的话, 可能需要请教一下了. 感谢C_and_CPP版 ※ 编辑: Windycelesti (118.163.51.192 台湾), 10/26/2021 14:56:37







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