让我们说我有文件
helloworld.c
helloworld.m
Run Code Online (Sandbox Code Playgroud)
15个编辑前,有人在helloworld.c中泄露了memroy,并设法将它变成了几个分支.我想在它设法进入的所有分支上纠正历史上的那个版本.
还原文件并尝试重新检入文件的净效果是什么?显然从那以后的14个变化我不想失去?
更新:我确信有人遇到过这个问题,我想知道他们找到了什么对他们有用的原因.
我是否认为管理分支和中继的方式是密集的,我必须在它存在的每个上下文中访问该文件?
对于生成的代码,我可以选择缩进或不缩进大括号,仅用于容纳范围内的变量.目前它没有在这个级别缩进,我想知道我是否要通过缩进来暗示嵌套结构?常见的做法是什么?
/* loop through the total number of letter a rules */
for (a = 0; a < (number_a_rules - 1); a++)
{
/* loop through secondary position rules */
{
int a2end = arulestableend[2];
for (int a2 = arulestablestart[2]; a2 < a2end; a2++)
{
/* stuff */
}
}
} /* end for a 0 to numberarules -1 */
Run Code Online (Sandbox Code Playgroud)
与
/* loop through the total number of letter a rules */
for (a = 0; a < (number_a_rules - …Run Code Online (Sandbox Code Playgroud) 更新:请在不好的想法下提交.生活中没有任何免费的东西,这肯定是证据.一个简单的想法变坏了.然而,这绝对是值得学习的东西.
懒惰的编程挑战.如果我传递一个50-50为qsort的比较函数返回true或false的函数,我认为我可以有效地取消编写3行代码的结构数组.
int main ( int argc, char **argv)
{
srand( time(NULL) ); /* 1 */
...
/* qsort(....) */ /* 2 */
}
Run Code Online (Sandbox Code Playgroud)
...
int comp_nums(const int *num1, const int *num2)
{
float frand =
(float) (rand()) / ((float) (RAND_MAX+1.0)); /* 3 */
if (frand >= 0.5f)
return GREATER_THAN;
return LESS_THAN;
}
Run Code Online (Sandbox Code Playgroud)
我需要寻找的任何陷阱?是否可以通过交换更少的线路,或者这对于3条非平凡的线路来说是最干净的?
社区维基问题
每次我处理涉及密码或保护数据的项目时,我都会陷入混乱的API和问题.我在开发安全应用程序方面没有太多正式的培训,但我还没有接受过数据库,GUI和构建过程的正式培训.许多其他编程领域感觉更直观.
安全只是一个比其他许多更复杂的领域吗?我倾向于认为事实并非如此.安装后的表面和系统是否比其他安全性更不成熟?我倾向于认为这些系统成熟的压力很大.在UNIX上,"可信赖的环境"是常态,直到90年代的某个地方.UNIX刚刚在这个领域扎根吗?
技术变化很快.自从我上学以来,计算机世界变得更加分散和批判.作为一个事后,安全被拖延了吗?任何新技术都有希望吗?你是否像我一样受苦?
我的perl脚本很慢但有效.我正在考虑抛弃它并构建一个具有适当绑定等的真正的DB2应用程序; 然而,与此同时,我希望这可以作为占位符.
我查看了这个文档并提到:
$dbh->disconnect();
Run Code Online (Sandbox Code Playgroud)
但是我无法使用它,因为它会抛出此错误.
无法在./ProgramTree.pl第119行通过包"dbh"(可能加载"dbh"?)找到对象方法"disconnect".
我知道我的临时应用程序正在泄漏并且正在增长,因为它以递归方式打开数据库句柄.我错过了什么基本的东西?
UPDATE2:
感谢您的投入.我已经实现了算法,可以在SourceForge上下载.这是我的第一个开源项目,所以请怜悯.
更新:
我不确定我是否足够清楚,或者每个人都对此有所了解,了解贝壳消耗的方式#!输入类型.一本很好看的书是Advanced Unix Programming.如此处所示,调用popen并提供其标准输入就足够了.
原始问题:
我们的脚本在高度分散的环境中运行,有许多用户 由于许多原因,使用权限隐藏它们是有问题的.
由于第一行可用于为脚本指定"解释器",因此初始行可用于定义解密器
#!/bin/decryptandrun
*(&(*S&DF(*SD(F*SDJKFHSKJDFHLKJHASDJHALSKJD
SDASDJKAHSDUAS(DA(S*D&(ASDAKLSDHASD*(&A*SD&AS
ASD(*A&SD(*&AS(D*&AS(*D&A(SD&*(A*S&D(A*&DS
Run Code Online (Sandbox Code Playgroud)
鉴于我可以编写脚本来加密并放置适当的头,我想要解密脚本(它本身可能有一个解释器行,如#!/ bin/perl在它的顶部),而不做任何愚蠢的写出来到一个临时文件.我发现了一些愚蠢的商业产品.我认为这可以在几个小时内完成.是否有一个众所周知的方法用管道而不是编码系统调用?我在考虑使用execvp但是更换当前进程或创建子进程是否更好?
编辑:对于那些寻找问题答案的人,如标准所述,标准限制了编译时嵌套循环的数量.在运行时,这是一个不同的问题,因为唯一的限制是程序段的大小.
解决:我在构建过程中看得太早.c文件进一步应用于它的预处理.关闭后续步骤.
我对使用perl从应用生成发音规则的语言生成的c代码有疑问.在本质上,输入是一个庞大的发音规则例外字典.代码充满了gotos,直到其中一个异常字典达到23K规则为止.
代码基本上是不可读的但我已经设法在删除看似第6200个嵌套循环之后编译c代码:
for (dictionionary1=seed1;dicitonary1<limit1;dictionary1++)
{
for (dictionionary2=seed2;dicitonary2<limit2;dictionary2++)
{
/* .... */
for (dictionionary6199=seed6199;dicitonary6199<limit6199;dictionary6199++)
{
/* two hundred more removed adding one makes it not compile */
}
}
}
Run Code Online (Sandbox Code Playgroud)
gcc和xlC都能够处理这些,但是aCC 3.73(在H11.23 PA RISC上)正在发挥作用.
Compiling /home/ojblass/exception_dictionary_a.c...
Loading the kernel...
Pid 18324 killed due to text modification or page I/O error
/bin/ksh: 28004 Bus error(coredump)
*** Error exit code 138
Run Code Online (Sandbox Code Playgroud)
我找到了这个链接并尝试了许多建议的修复但没有成功.
由于遗留原因,我必须编译为32位(它使用32位库,我没有64位对应的).
maxdsiz = 256 MB (x10000000) tried up to 4 GB
maxssiz = 16 MB …Run Code Online (Sandbox Code Playgroud) 我一直认为SQL编译器会破坏,但显然nesing几乎可以无限.这个代码是立即被破坏还是有一些希望,这样的东西可以起作用?
这个查询并不属于我,所以我不能发布它...但是,让我们假装它是这个:
[SELECT /*+ NOPARALLEL bypass_recursive_check */
SP_ALIAS_190,
((CASE SP_ALIAS_191
WHEN 1
THEN 'PROVIDER::ALL_PROV::'
WHEN 0]
Run Code Online (Sandbox Code Playgroud) 这是一个类似于我定义的函数:
void Function( BYTE *data );
Run Code Online (Sandbox Code Playgroud)
我想做的是这样的事情:
Function( new BYTE { 0x00, 0x00 } );
Run Code Online (Sandbox Code Playgroud) 当你telnet到某个盒子时,我们有几台你可以使用的UNIX机器.passwd文件不在共享安装上(我不确定安装它们的安全性如何).最终结果是,如果您在一个框中更改密码,当您登录到第二个框时,它将告诉您密码无效.这对最终用户没有意义,因为他们在两个实例中都输入了telnet servername.任何实用的经验,建议或指示,以帮助解决这种情况?
更新:
我正在考虑在除了一个盒子之外的所有盒子上禁用passwd.然后,passwd可以是对控制密码服务器的远程调用,或者明确告诉用户要去哪台机器以更改其密码.
更新:
如果任何人都有使用Centrify的经验,那么IBM产品确实看起来很有趣吗?
思考?