小编Joe*_*son的帖子

Valgrind说"堆栈分配",我说"堆分配"

我试图跟踪valgrind的段错误.我从valgrind得到以下消息:

==3683== Conditional jump or move depends on uninitialised value(s)
==3683==    at 0x4C277C5: sparse_mat_mat_kron (sparse.c:165)
==3683==    by 0x4C2706E: rec_mating (rec.c:176)
==3683==    by 0x401C1C: age_dep_iterate (age_dep.c:287)
==3683==    by 0x4014CB: main (age_dep.c:92)
==3683==  Uninitialised value was created by a stack allocation
==3683==    at 0x401848: age_dep_init_params (age_dep.c:131)
==3683== 
==3683== Conditional jump or move depends on uninitialised value(s)
==3683==    at 0x4C277C7: sparse_mat_mat_kron (sparse.c:165)
==3683==    by 0x4C2706E: rec_mating (rec.c:176)
==3683==    by 0x401C1C: age_dep_iterate (age_dep.c:287)
==3683==    by 0x4014CB: main (age_dep.c:92)
==3683==  Uninitialised value was created by …
Run Code Online (Sandbox Code Playgroud)

c malloc valgrind calloc

7
推荐指数
1
解决办法
2114
查看次数

在C中运行时解析浮点数的标准方法是什么?

我有一个科学的应用程序,我想在运行时输入初始值.我可以选择从命令行获取它们,或者从输入文件中获取它们.这些选项中的任何一个都输入到通用解析器,该解析器使用strtod返回每个模拟运行的初始值的链接列表.我要么使用命令行参数,要么使用getline()来读取值.

问题是,我应该滚动自己的解析器,还是应该使用解析器生成器或某个库?什么是标准方法?这是我将在运行时读取的唯一数据,其他所有数据都在编译时设置(输出文件和其他一些非常简单的东西除外).

谢谢,

乔尔

c string simulation bison

3
推荐指数
1
解决办法
211
查看次数

标签 统计

c ×2

bison ×1

calloc ×1

malloc ×1

simulation ×1

string ×1

valgrind ×1