`
cloverprince
  • 浏览: 129321 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

嫌音乐压缩不利用多核处理器,特意写了个Makefile...

阅读更多
现有很多wav文件,转换成ogg,可以:
$ oggenc -q5 *.wav


但是,如果你用的是双核,只有一个核心在工作。
所以,写一个Makefile:

SRCS = $(wildcard *.wav)
OBJS = $(patsubst %.wav,%.ogg,$(SRCS))

all: ${OBJS}

%.ogg: %.wav
	oggenc -q5 $<


然后,命令行执行:
$ make -j2   # 把2改成你的CPU的数量


讲解:
Makefile里面,$(wildcard .....)是通配符,可以匹配很多文件名。$(patsubst src,dst,targets)用来批量查找替换。同样,目标也可以用通配,比如%.ogg: %.wav,就表示凡是以.ogg结尾的目标,都用相应的.wav的文件生成。

同样的技巧也适用于C语言。
SRCS = $(wildcard *.c)
OBJS = $(patsubst %.c,%,$(SRCS))

all: myprog

myprog: ${OBJS}
	gcc -o myprog ${OBJS}

.c.:
	gcc -c -o $@ $<

分享到:
评论

相关推荐

    Makefile-Templates-master.7z

    此外,Makefile还支持并行构建,通过`-j`选项可以充分利用多核处理器的优势,提高构建效率。 在"Makefile-Templates-master"中提供的中文文档,可以帮助初学者快速理解各个模板的结构和用途,同时也可以为经验丰富...

    解决心脏力学问题的软件_Python_Makefile_下载.zip

    10. **并行计算**:对于大规模心脏力学模拟,可能需要利用多核处理器或GPU进行并行计算,以提高计算效率。 这个软件包的用户可能是生物医学工程师、计算科学家、心脏病学家或其他对心脏功能感兴趣的科研人员。他们...

    来自BonnieToy的Linpack来源。稍作修改以在XilinxZynq-7000EPP中针对ARM处理器进行编译_.zip

    【压缩包子文件的文件名称列表】中只有一个条目“zynq-linpack-master”,这很可能是源代码仓库的主分支名称,表明这是一个关于Zynq-7000 EPP的Linpack实现的开源项目。通常,这样的项目会包含以下组件: 1. `...

    intel-cilk-runtime.7z

    它的核心是Cilk运行时系统,这个运行时库允许开发者利用多核处理器的潜力,通过简单的语法实现任务的并行化。"intel-cilk-runtime.7z"是一个包含该运行时库源代码的压缩包,对于那些想要深入理解并行编程机制,或者...

    pbzip2_src.zip

    pbzip2 在保留了 bzip2 的优点的同时,通过引入多线程技术提升了压缩和解压缩的速度,尤其在多核处理器的系统中,性能提升更为显著。 pbzip2 的源代码是开源的,这使得开发者能够查看、学习和修改其内部算法,甚至...

    长字符串压缩bm.zip

    此外,为了提高性能,开发者可能还会考虑并行化处理,利用Go的goroutine和channel特性,使得算法在多核处理器上能更好地运行。 总结来说,Bentley/McIlroy 长字符串压缩算法是数据压缩领域的一个经典方法,其Go语言...

    GUN make-4.0

    - **并行构建**:利用多核处理器的优势,通过并行化任务提升构建速度。 - **可移植性**:由于其开源和跨平台特性,使得项目能在不同的操作系统环境下保持一致的构建流程。 在【压缩包子文件的文件名称列表】中,`...

    cilk-5.4.6.tar.gz

    Cilk 是一种并行编程模型,由麻省理工学院(MIT)开发,旨在简化多线程编程,提高程序性能。Cilk 技术的核心是 Cilk++ 编译器,它...通过理解和使用 Cilk,你可以利用现代多核处理器的优势,编写出更高效的应用程序。

    fftw-3.2.1.tar.gz

    FFTW还提供了多线程支持,利用多核处理器的能力来加速计算。 在“fftw-3.2.1.tar.gz”中,解压后你会得到一个名为“fftw-3.2.1”的目录,这个目录通常包含源代码、文档、示例程序和其他必要的构建文件。以下是一些...

    scons-2.2.0.tar.gz

    8. **多线程构建**:SCons支持并行构建,利用多核处理器提高构建速度。 9. **安装脚本**:SCons包含了一个标准的“install”目标,用于将构建好的软件安装到系统指定的位置。 10. **文档**:源代码包通常包含...

    ARMCC的安装资源包

    2. **多核支持**:支持多线程编程,包括OpenMP,可有效利用多核处理器。 3. **内存模型**:提供多种内存模型,如small、medium、large和huge,适应不同内存限制的系统。 4. **调试工具**:集成的调试器使得代码调试...

    PyPI 官网下载 | bohrium-0.9.2.post112.tar.gz

    它通过利用现代多核处理器和GPU的并行计算能力,来加速科学计算中的矩阵运算和其他数学操作。Python作为一种高级编程语言,通常在计算密集型任务上表现较慢,但Bohrium通过其底层的C++实现和OpenCL接口,弥补了这一...

    商业编程-源码-其它源代码 OSDetect.zip

    8. **性能优化**:根据平台特点进行性能优化,例如利用多核处理器、GPU计算等。 9. **许可和版权**:在商业环境中,可能需要根据操作系统调整授权和版权策略。 源代码分析和理解OSDetect的具体实现将有助于开发者...

    mpich-3.1.1.tar.gz

    5. **并行编程**: 使用MPICH,程序员可以编写并行程序,利用多核处理器或分布式计算资源。常见的编程语言有C、C++和Fortran,它们都有相应的MPI库。 6. **MPI程序调试与性能分析**: MPICH提供了诸如mpirun、mpiexec...

    fftw-3.2.1.rar

    2. **自动并行化**:FFTW能够自动利用多核处理器或并行计算设备(如GPU)进行并行计算,提高执行速度。 3. **多种变换类型**:除了标准的DFT,FFTW还包括逆变换、复数变换、实数到复数变换等多种变体。 4. **内存...

    p7zip_4.43_src_all.tar.zip

    3. 多线程支持:p7zip允许在多核处理器上进行并行压缩和解压缩,从而提高了处理速度。 4. 命令行界面:p7zip提供命令行工具,便于集成到自动化脚本和批处理任务中,同时也支持图形用户界面(GUI)。 5. 开源和跨...

    incubator-hawq-master.zip

    - **MPP(Massively Parallel Processing)架构**:Hawq采用了并行处理模型,可以充分利用多核处理器和多节点集群的计算资源。 - **Shared-Nothing架构**:每个节点都有独立的数据存储,数据分布和查询处理都在本地...

    ko-led2.zip

    AM5718是一款基于TI Sitara系列的高性能ARM Cortex-A15多核处理器,常用于工业控制、嵌入式系统和物联网应用。该处理器集成了丰富的外设接口,包括GPIO(通用输入输出),正是这些GPIO端口通常被用来控制LED等简单...

    postgresql-12.0.tar.gz

    - **性能优化**:引入了并行查询优化器,提高了多核处理器上的查询性能。 - **分区表增强**:支持范围分区和列表分区,使数据管理更灵活。 - **索引改进**:支持对表达式索引进行并行构建,加速索引创建。 - **JSONB...

    CThread_Code.rar

    这允许程序充分利用多核处理器的资源,提高效率并实现并发操作。 【描述】提到这个代码是可以下载、测试并运行的,这意味着它可能是一个示例项目,用于教学或者演示如何在实际应用中使用多线程。通过下载和运行这些...

Global site tag (gtag.js) - Google Analytics