record-下方是我的c语言代码,为何下方程序的运行需要等好长时间才能打印出第一个字符。。。。何解?

问题描述

下方是我的c语言代码,为何下方程序的运行需要等好长时间才能打印出第一个字符。。。。何解?
 #include<unistd.h>
#include<stdio.h>
#include<sys/mman.h>
#include<fcntl.h>
#include<stdlib.h>

typedef struct{
  int integer;
  char string[24];
} RECORD;

#define NRECORDS (10)

RECORD record,*mmaped;

void write_mmap_area(){
  printf("oh my god ....");
  int fd = open("records.dat",O_RDWR);
  mmaped = (RECORD*)mmap(0,NRECORDS*sizeof(record),PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);
  int i = 0;
  for(;i<10;i++){
    int j = 0;
    printf("此次准备");
    for(;j<10;j++){
      printf("%d秒后,将开始修改数据...",10-j);
      sleep(1);
    }
    sprintf(mmaped[i].string,"modify : %d ",i);
     printf("此次结束");
  }
}

int main(){
  printf("I am ready!!!");
  write_mmap_area();
  printf("END");
  return 0;
}

解决方案

用clock()函数来测试下看看哪段代码运行时间长

解决方案二:

已经解决,看楼上。出现的问题是,我忘记在printf输出中加入n了,因为printf是缓冲池满了才输出,
为了让它立刻输出,需要加上n,读到换行符时就会立刻输出。谢谢你哈。

时间: 2024-11-02 10:36:59

record-下方是我的c语言代码,为何下方程序的运行需要等好长时间才能打印出第一个字符。。。。何解?的相关文章

求解答- java语言想要运算器程序可以运行出正负数及小数点运算

问题描述 java语言想要运算器程序可以运行出正负数及小数点运算 public class Calculator { private CalcEngine engine; private UserGUI gui; public Calculator() { engine=new CalcEngine(); gui=new UserGUI(engine); } public void show() { gui.setVisible(true); } public static void main(

如何将C语言代码转换为应用程序

有时候我们将让我们的c语言代码保存为一个exe方便,方便使用,实际就是我们俗说的编译   C语言是高级语言,它的语法接近于人类的自然语言,但比自然语言严谨.计算机无法直接将C语言的代码运行,他们并不懂得什么是C语言,实际上,计算机只处理他们的机器语言,所以我们必须为自己找一个翻译,这个翻译可分为2种: 1.编译器 编译器是"文章的译者",它在我们完成创作后将其翻译(实际上是编译)成为机器语言. 2.解释器 解释器是"随声翻译",代码运行的同时它们就开始工作,BASI

如何将C语言代码转换为应用程序(也就是编译)_C 语言

C语言是高级语言,它的语法接近于人类的自然语言,但比自然语言严谨.计算机无法直接将C语言的代码运行,他们并不懂得什么是C语言,实际上,计算机只处理他们的机器语言,所以我们必须为自己找一个翻译,这个翻译可分为2种: 1.编译器 编译器是"文章的译者",它在我们完成创作后将其翻译(实际上是编译)成为机器语言. 2.解释器 解释器是"随声翻译",代码运行的同时它们就开始工作,BASIC就是使用解释器,一般认为这种方法效率很低. C语言要请第1种翻译,要想让C语言代码执行,

c语言-求下面C程序的运行结果

问题描述 求下面C程序的运行结果 #include #define SIZE_NAME 30#define SIZE_STU 4 typedef struct _per_infor { char name[SIZE_NAME]; int age; char gender;}per_infor_t; int main() { per_infor_t stu[SIZE_STU]={ {""raul""25'F'}{""joe""2

代码-linux应用程序的运行流程 求详解

问题描述 linux应用程序的运行流程 求详解 事情是这样的,老师给了个作业(如下),因为课程时间等原因,开始想要啃下2.6源码的,在各种深度了解,剖析 巴拉巴拉等的linux电子书里并没有看出多大的头绪,讲到看源码更是头大,加之时间有限,所以并没有时间去仔细的研读,想要请各位大神给些指导,毕竟看到操作系统的庞大代码就不知道从哪里入手了. 如果有耐心+时间的话 更希望能够给出一些具体的解题入手步骤,如:怎么去跟踪程序的函数运行,函数间调用大概关系是怎么研究... 请不要嫌弃...知识掌握有限,想

代码-jsp分页问题(oracle数据库),只能打印出第一页内容,点击下一页就没有内容显示,

问题描述 jsp分页问题(oracle数据库),只能打印出第一页内容,点击下一页就没有内容显示, <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%@ page import="java.sql.*" %> <%@ page import="org.zshwd.vo.User" %>

c语言问题-C语言代码解释,关于数组

问题描述 C语言代码解释,关于数组 在C中这行name[i]=(char*)malloc(4*sizeof(char));是什么意思???麻烦解答一下 解决方案 一般来说name是个指针数组或者二级指针 #include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char *name[2]; //声明一个指针数组,数组的每个元素都是一个指针 name[0] = (char *)malloc(4*siz

在Delphi编程中使用C语言代码

Windows下编程的工具有很多,例如VB,Delphi,VC等等.我在这里不想讨论"它们的具体哪个更好一点"这种幼稚的问题.玩过DOS程序设计的人都知道,DOS下很多语言的实质核心还是调用系统提供的汇编中断函数.到了Windows下,它就变成了我们常说的API了.而在Windows下写程序很多时候都是调用API,语言,只不过是一个表达工具而已. 我现在已经参加工作大约有半年左右,我们公司是用Borland公司的Delphi作为主开发工具.本着未偏袒任何一个工具的立场,我说句公道话:D

QQ输入法怎么快捷输入HTML语言代码?

  QQ输入法怎么快捷输入HTML语言代码?          安装好QQ拼音,在输入法状态条点右键----属性设置; QQ输入法 进入高级设置----自定义短语设置; (自定义短语设置前面的勾打上才能启动该功能) QQ输入法 点 添加; 编辑短语 上面的填快捷语,下面填完整语句; 这里我快捷语用"hi",完整的代码是"[hide][/hide]"; QQ输入法 添加完了以后点确定退出设置; QQ输入法 以后用QQ输入法,只要输入"hi",就能出