有许多不同的不良做法,例如内存泄漏,很容易在事故中进入程序.有时候,他们甚至可以将您的计划一起评审.
我正在研究一个项目,如果我故意在我的代码中放入内存泄漏,它就可以工作了.如果我把漏出,代码崩溃了.显然这很糟糕,需要很快(并将会)修复.
我的问题是,你什么时候决定在这种状态下交付代码,如果没有这些糟糕的做法就不可能及时发布代码?
在我的bison/flex程序中,在调用yyparse()之后,会打印一个前导选项卡,但我不知道为什么.你能看出什么是错的吗?
这会调用bison代码,并在yyparse()返回后立即打印一个选项卡.
void parseArguments(int argc, char** argv)
130 {
131 int i;
132
133 int sum = 0;
134 // calculate the length of buffer we need
135 for(i = 1; i < argc; i++)
136 {
137 sum += strlen(argv[i]) + 1;
138 }
139
140 if(sum <= 0)
141 return;
142
143 // make us a buffer and zero it out
144 char tempBuffer[sum];
145 memset(tempBuffer, 0, sum);
146
147 // pointer to walk through our buffer
148 …Run Code Online (Sandbox Code Playgroud) 当我遇到使用std :: ofstream的问题时,我正在考虑这个问题.
我的想法是,由于std :: ifstream,它不支持随机访问.相反,它只是从头开始并流式传输,直到你到达你想要的部分.这是否很快,所以我们没有注意到?
而且我很确定FILE*支持随机访问,所以这也会很快?
为什么下面的C代码不能编译?看起来它应该只是改变指针的地址,但它会引发错误.
int x[10];
int y[10];
y=x;
Run Code Online (Sandbox Code Playgroud) 我将用C++开发一个桌面应用程序,我希望通过需要许可证文件来保护它.
我最初的想法是拥有2个可执行文件.一个是我运行某种对称加密的实际程序,第二个可执行文件将使用用户计算机上的许可文件解密并运行程序.但是,通过简单地转储内存就很容易失败.
是否有其他解决方案(不一定是免费的)来管理许可证?我在主流程序中看到过FlexNet和其他类似的东西,但不确定这些内容包含在我自己的程序中有多么困难/昂贵.
在我的应用程序中,我有一个TextBlock,我在用户按下按钮后显示一个Double编号.此数字可以是非常小的小数或需要指数表示法的非常大的数字(即3.43e12).问题是,程序打印了这么多数字,它溢出了我的TextBlock,用户无法看到所有有效信息.
那么如何限制Double打印以便不溢出TextBlock?
我用来设置文本的代码是:
theTextBox.Text = (split * input).ToString();
Run Code Online (Sandbox Code Playgroud)
编辑:有人问了具体的例子,所以我想我会澄清一些事情.我基本上希望字符串永远不会超过10个字符.这样它就适合TextBlock.我想诀窍是,这些10个字符应该何时为小数位,整数或科学记数法,这就是诀窍......
c++ ×2
bison ×1
c ×1
c# ×1
deadlines ×1
double ×1
encryption ×1
flex-lexer ×1
licensing ×1
overflow ×1
performance ×1
protection ×1
text ×1