是否有可能部署python应用程序,以便您不释放源代码,而您不必确定客户是否安装了python?
我想也许有一些安装过程可以从.pyc文件和包含解释器的共享库或类似的东西运行python应用程序?
基本上我渴望获得像Python这样的语言的开发优势 - 高生产率等,但是不能完全看到如何将它专业地部署到客户,在那里你不知道机器是如何设置的,你肯定是无法提供来源.
如何在python中开发专业软件公司(或者答案是他们没有)?
全局变量通常被认为是一种糟糕的编程实践
在C中,静态变量(即模块(文件)范围)是否正常?
我的想法是面向对象语言中的成员变量不能比C中的静态变量危险得多,成员变量似乎被认为是一件好事.
我厌倦了通过多个函数传递参数,并且可以看到静态变量的吸引力,特别是如果它们const.
但是我很想知道这是否令人不悦 - 以及在一个大对象与其几个方法中使用的成员变量和一个包含一些利用的函数的C文件之间的编程顽皮程度是否真的有任何差别一个静态变量?
disp在gdb中有一个等效的pdb 吗?
例如,当我使用gdb调试C时,我可以通过输入代码在每个'step'上打印变量:
disp var
Run Code Online (Sandbox Code Playgroud)
当我使用pdb调试python时我想要类似的功能,但disp似乎不存在,python pdb文档似乎没有提供替代 - 但它似乎是一个奇怪的遗漏?
我对您可以采取的预防措施感兴趣,以使逆向工程C共享库变得更加困难
似乎不可能完全阻止,但你可以采取可能需要更长时间的步骤,因此不那么有吸引力/成本更高
代码混淆,编译器优化选项编译器调试标志等等(我会特别感兴趣的是gcc编译器)
对于以$或工时等方式逆向工程~5KLOC C共享库(.so大小~200kb)的相对难度的任何想法也感兴趣.
刚刚从单显示器切换到双显示器
通过使用C-x 5 f在新框架中的缓冲区中打开文件,我设法利用emacs两个屏幕,我可以将该框架拖到第二个显示器上,享受我额外的房地产
我现在的问题是如何在不同帧中的缓冲区之间有效切换
我习惯于C-x o在单个监视器上的分割帧中使用切换缓冲区,但这对多个帧不起作用
不必使用更麻烦C-x 5 b <buf-name>是痛苦的比较
任何人都有关于如何在双显示器上提高缓冲区切换效率的顶级技巧?
理想情况下,我想使用一个简单的键盘快捷键循环遍历所有缓冲区,无论帧如何
是否numpy有一个gcd功能都在其模块的结构?
我知道fractions.gcd但是认为numpy等效可能更快,并且使用numpy数据类型可以更好地工作.
我一直无法在谷歌上发现任何东西,除了这个看起来过时的链接,我不知道我将如何访问_gcd它建议存在的功能.
天真的尝试:
np.gcd
np.euclid
Run Code Online (Sandbox Code Playgroud)
对我不起作用......
一个小问题一直困扰着我与emacs
在缓冲区中打开shell时,我会:
M-x shell
到现在为止还挺好
但是如果我想打开另一个shell,我会切换到另一个缓冲区并:
C-u M-x shell
但这总是在另一个窗口打开 - 而不是我目前所在的窗口
这有点烦人有谁知道如何解决它?
编辑
我应该补充一点,我在多个分割窗口中打开了多个缓冲区,例如我的框架分为3个部分 - 我想要的是在当前具有焦点的同一部分中打开的新shell,即我输入的那个和不是替代的
我想当我这样做时会发生C-u M-x shell新的shell缓冲区在下一个窗口中打开,即如果你点击就会转移到那个窗口C-x o.我希望它在同一个窗口中打开
刚刚在一些旧的src代码中找到以下行:
int e = (int)fmod(matrix[i], n);
Run Code Online (Sandbox Code Playgroud)
在哪里matrix是一个数组int,n是一个size_t
我想知道为什么使用fmod而不是%我们有整数参数,即为什么不:
int e = (matrix[i]) % n;
Run Code Online (Sandbox Code Playgroud)
难道有可能是选择性能的原因fmod了%或者是它的代码只是一个陌生的位?
获取C中地址的唯一方法(与双引用相反,有一个中间变量?
我有:
int a;
int b;
int *ptr_a;
int *ptr_b;
int **ptr_ptr_a;
a = 1;
ptr_a = &a;
ptr_ptr_a = &(&a); <- compiler says no
ptr_ptr_a = &&a; <- still compiler says no
ptr__ptr_a = &ptr_a; <- ok but needs intermediate variable
Run Code Online (Sandbox Code Playgroud)
但你可以做反过来,例如
b = **ptr_ptr_a; <- no intermediate variable required
Run Code Online (Sandbox Code Playgroud)
例如,我不必这样做:
ptr_b = *ptr_ptr_b;
b = *ptr_b;
Run Code Online (Sandbox Code Playgroud)
为什么两个运营商的功能不对称?
Ubuntu Linux 15.10 - 我刚注意到没有手册页 cd
这看起来有点奇怪.
我试过了:
man cd
Run Code Online (Sandbox Code Playgroud)
在cmd线,我回来了
No manual entry for cd
Run Code Online (Sandbox Code Playgroud)
我试图找到文档
cd -
Run Code Online (Sandbox Code Playgroud)
这对于在最后一个目录和当前目录之间翻转非常方便
和 cd --
这似乎是别名
cd ~
Run Code Online (Sandbox Code Playgroud)
我在这里遗漏了一些非常明显的东西,或者手册页应该存在吗?
c ×4
python ×3
emacs ×2
shell ×2
built-in ×1
command ×1
debugging ×1
decompiling ×1
deployment ×1
integer ×1
linux ×1
modulus ×1
numpy ×1
obfuscation ×1
pdb ×1
pointers ×1
static ×1
ubuntu-15.10 ×1
variables ×1