草庐IT

gcov_flush

全部标签

c++ - gcov 和 switch 语句

我正在使用switch语句在一些C代码上运行gcov。我编写了测试用例来涵盖通过该switch语句的所有可能路径,但它仍然报告switch语句中的一个分支未采用,并且在“至少采用一次”统计信息中低于100%。这里有一些示例代码来演示:#include"stdio.h"voidfoo(inti){switch(i){case1:printf("a\n");break;case2:printf("b\n");break;case3:printf("c\n");break;default:printf("other\n");}}intmain(){inti;for(i=0;i我使用“gcct

c++ - 关于 fstream 缓冲区,flush() 和 sync() 有什么区别?

我正在阅读cplusplus.comtutorialonI/O.最后,它说fstream缓冲区与磁盘上的文件同步Explicitly,withmanipulators:Whencertainmanipulatorsareusedonstreams,anexplicitsynchronizationtakesplace.Thesemanipulatorsare:flushandendl.和Explicitly,withmemberfunctionsync():Callingstream'smemberfunctionsync(),whichtakesnoparameters,causes

c++ - C++ 程序员应该经常使用 std::flush 吗?

这个问题在这里已经有了答案:Insimpleterms,whatisthepurposeofflush()inostream(2个回答)关闭9年前。是否建议C++程序员经常写类似这样的行std::cout换句话说,在没有endl的输出行中,我们是否应该经常flush以防万一?还是现在大多数平台都不再需要它了? 最佳答案 您的普通程序不需要频繁冲洗。冲洗更接近于在某些情况下需要的特殊情况:与人或其他系统交互:在等待输入之前刷新输出是明智的。休眠一段时间:在延长sleep或等待之前刷新可简化日志文件的检查,使数据库大部分时间保持一致等。

python - print( )'s ` flush` 有什么作用?

print()函数flush有一个bool可选参数,默认为False。文档说是强制刷新流。我不明白冲洗的概念。什么是冲洗这里?什么是流的刷新? 最佳答案 通常输出到文件或控制台是缓冲的,至少在您打印换行符之前输出文本。刷新确保缓冲的任何输出都到达目的地。我确实使用它,例如当我在获取输入之前发出Doyouwanttocontinue(Y/n):之类的用户提示时。这可以模拟(在Ubuntu12.4上使用Python2.7):from__future__importprint_functionimportsysfromtimeimport

java - Hibernate 事务回滚是否会删除 "session.flush()"ed 实体?

我一直对transaction.rollback感到困惑。这是示例伪代码:transaction=session.beginTransaction()EntityAa=newEntityA();session.save(a);session.flush();transaction.rollback();当这段代码有效时会发生什么?我是否在数据库中有实体? 最佳答案 简短回答:不,您不会在数据库中拥有实体。更长的答案:在您的情况下,hibernate足够聪明,不会向数据库发送插入/更新,直到它知道事务是否将被提交或回滚(尽管可以通过设

java - 关于 Hibernate session.flush() 的问题

我想询问一下flush方法在以下情况下的实际作用:for(inti=0;i这是否意味着在迭代20次之后,缓存被刷新,然后这20个持有的内存对象才真正保存到数据库中?有人可以向我解释一下条件为真时会发生什么。 最佳答案 来自Session#flush的javadoc:Forcethissessiontoflush.Mustbecalledattheendofaunitofwork,beforecommittingthetransactionandclosingthesession(dependingonflush-mode,Trans

java - 何时/为什么在 Java 中调用 System.out.flush()

为什么需要刷新某些流(FileOutputStream和来自Sockets的流)而标准输出流不需要?每次有人使用System.outPrintStream对象时,无论是在调用println()还是write(),他们从不刷新流。但是,其他程序员习惯性地将flush()称为PrintStream/PrintWriter与其他流。我最近向几位程序员提出了这个问题,有些人认为Java中有一些后台处理可以自动刷新System.out流,但我找不到任何相关文档.这样的事情让我想知道简单地调用System.out.println()是否与平台无关,因为某些系统可能需要您刷新流。

java - EntityManager.flush 有什么作用,为什么需要使用它?

我有一个EJB,我在其中将一个对象保存到数据库中。在我看到的一个例子中,一旦保存了这些数据(EntityManager.persist),就会调用EntityManager.flush();为什么我需要这样做?我正在保存的对象未附加,也未在该方法的后面使用。事实上,一旦保存方法返回,我希望资源被释放。(示例代码也在remove调用中执行此操作。)if(somecondition){entityManager.persist(unAttachedEntity);}else{attachedEntityObject.setId(unAttachedEntity.getId());}enti

java - 使用 spring @transactional hibernate session.flush

我在我的应用程序中使用Spring和Hibernate并使用SpringTransaction。所以我在方法上有一个带有注释@Transaction的服务层,而DAO层有用于数据库查询的方法。@Transactional(readOnly=false)publicvoidget(){}问题是当我想在数据库中保存一个对象时,我必须在DAO层方法的末尾使用session.flush()。为什么?我想如果我注释了@Transaction,那么Spring应该在服务方法完成时自动提交事务。DAO层:publicBaseEntitysaveEntity(BaseEntityentity)thro

MySQL:什么时候真正需要 MySQL 中的 Flush Privileges?

在创建新表和用户时,我通常只调用以下命令:CREATEDATABASEmydb;GRANTALLPRIVILEGESONmydb.*TOmyuser@localhostIDENTIFIEDBY"mypassword";在发出前两个命令后,我从来不需要使用FLUSHPRIVILEGES命令。用户可以登录并使用他们的数据库并运行连接到数据库的PHP脚本。然而,我看到几乎每一个教程都使用了这个命令。FLUSHPRIVILEGES命令什么时候真正需要,什么时候不需要? 最佳答案 通过GRANT选项分配的权限不需要FLUSHPRIVILEGE