Skip to content

parallel101/hw01

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Dec 14, 2021
a20def2 · Dec 14, 2021

History

7 Commits
Dec 14, 2021
Dec 14, 2021
Dec 14, 2021
Dec 14, 2021
Dec 14, 2021
Dec 14, 2021
Dec 14, 2021
Dec 14, 2021
Dec 14, 2021

Repository files navigation

高性能并行编程与优化 - 第01讲的回家作业

通过 pull request 提交作业。会批分数,但是:

没有结业证书,回家作业仅仅作为评估学习效果和巩固知识的手段,不必为分数感到紧张 :) 量力而行,只要能在本课中,学到昨天的自己不懂的知识,就是胜利,没必要和别人攀比。

作业提交时间不限 :) 即使完结了还想交的话我也会看的~ 不过最好在下一讲开播前完成。

作业要求

在 main.cpp 中为了导出两个"美好的图像",使用了 stb_image_write.h 这个头文件。 他在 CMakeLists.txt 中也引用了 stbiw 这个库,然而这个库还没有被定义。

你的任务就是 定义 stbiw 这个库,他的内容应该包含 stbi_write_png() 的实现, 以及允许通过尖括号导入头文件 <stb_image_write.h>

运用上课所学知识,尽量不修改 main.cpp 的内容,只修改 stbiw 子目录下的内容, 完成任务。最好以子模块 + 库的形式,实在不行的话直接改 main.cpp 也可以。

运行成功后,应该会在主程序同目录发现两个"美好的图像":mandel.png 和 rainbow.png

参考信息

stb_image_write.h 原仓库地址: https://github.com/nothings/stb

你需要在一个且仅一个 .cpp 文件定义了 STB_IMAGE_WRITE_IMPLEMENTATION 这个宏, 才能决定让 stbi 系列函数在这里实现。

如果你不仅完成了作业,还能解释清楚为什么 stbi 必须要这样设计,可能会给你满分!

采分点提示

像这样:

target_compile_definitions(stbiw PUBLIC -DSTB_IMAGE_WRITE_IMPLEMENTATION)

是不行的,因为 mandel.cpp 和 rainbow.cpp 两个文件都 include 了 stb_image_write.h, 这样同一个函数会被定义两遍!

About

高性能并行编程与优化 - 第01讲回家作业

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published