linux下C程序printf没有立即输出的问题及我的Makefile文件
来源:互联网 发布:mac上的照片管理软件 编辑:程序博客网 时间:2024/06/08 18:10
昨天在linux下运行一个C程序,是处理一段视频中的每一帧的,本来在程序中是要每处理完一帧就要输出一条信息的,但是在运行是却不显示,而是在程序运行完成之后一块输出的,但是在windows中运行程序就没有这个问题。如果是这样的话,就非常不爽了,因为本来是想通过程序的输出来得到程序当前的运行状况,现在却达不到这种效果。然后上网上搜索了一下,看来果然有解决方案。存在这个问题的主要原因就是在调用printf输出信息后,程序并不是立即输出,而是将其输出到了缓存中,所以,我们要做的就是在printf之后立即将缓存中的信息输出到终端。所以可以在printf之后添加fflush(stdout),这样就能立即将缓存中的数据输出了。
另外,附上Makefile文件,这是我以后在linux下写程序的时候的一个模板。
TARGET:=attentionINCDIR:=incSRCDIR:=srcOBJDIR:=obj$(shell if !([ -d $(OBJDIR) ]);then mkdir $(OBJDIR);fi)LIBDIR:=lib$(shell if !([ -d $(LIBDIR) ]);then mkdir $(LIBDIR);fi)CC :=g++FLAGS:=-Wall -W -I$(INCDIR) -D_DEBUGLIBS :=-lmOPENCV=1 #switch of opencvifdef OPENCVFLAGS+=`pkg-config --cflags opencv`LIBS +=`pkg-config --libs opencv`endif#DBG=0ifdef DBGFLAGS+=-gelseFLAGS+=-O2endifSRC:=$(wildcard $(SRCDIR)/*.cpp)OBJ:=$(patsubst %.cpp,$(OBJDIR)/%.o,$(notdir $(SRC)))#all:# @echo $(OBJ)#$(TARGET):$(OBJ) $(CC) -o $@ $^ $(FLAGS) $(LIBS)$(OBJDIR)/%.o:$(SRCDIR)/%.cpp $(CC) -c $< -o $@ $(FLAGS).PHONY: cleanclean: rm -f $(OBJDIR)/*.o *~ core
Makefile其实还是很强大的,现在初学阶段只是简单的使用。
这儿有几个比较好的makefile模板
0 0
- linux下C程序printf没有立即输出的问题及我的Makefile文件
- linux下C语言printf没有输出的问题(shell的行缓冲机制)
- linux下编译C程序执行C程序 printf没有输出
- Java中无法捕获C程序printf输出的问题
- c中printf的输出问题
- linux c printf 的缓冲输出
- linux下printf输出字符串的颜色
- Linux下printf输出字符串的颜色
- Linux下 printf 输出字符串的颜色
- Linux下printf输出字体的特效
- LINUX下printf输出字体的特效
- LINUX下printf输出字体的特效
- Linux下printf输出字符串的颜色
- linux下printf()函数输出的条件
- linux下用gcc编译c程序时遇到的问题: error: stdio.h: 没有那个文件或目录
- Linux下Sublime的C/C++多文件程序Makefile+清理+执行配置
- 单文件夹下的C程序如何编写Makefile文件
- Linux下C语言编译基础及makefile的编写
- 【剑指offer】数组中的逆序对
- Java发送邮件(带附件)
- C中计算程序运行时间差(毫秒级)
- 重新学习C# 之 配置C#命令行编译器
- 跨平台客户端Socket 一 数据包定义
- linux下C程序printf没有立即输出的问题及我的Makefile文件
- 关于Android开发中Activity的启动模式
- HDU 5444&&长春网络赛1008 Elven Postman
- linux常用的makefile模版编写
- SGU 495 Kids and Prizes(概率)
- 事务的实现,隔离级别与锁
- Linux下实用的JAVA内存泄露监控命令
- LNMP系列——利用nginx 的http_image_filter_module 搭建图片网关
- IIS的ASP木马怎么上传的