使用C 制作机器人

搜索

limocreuxa

New member
我用PHP编写所有的机器人,并使用CURL与外界通信。

没有GUI界面,只有CLI日志记录和硬编码参数(我不出售它们,大多数机器人都非常简单,只用于一个特定的目的)。
 

tempgraphapat

New member
我也是C 程序员,我知道有很多类库,例如libcurl、roguewave、boost等等,但对于机器人来说,C#是最好的选择,因为它内置了许多库。

所以这不是低估……如果你可以骑自行车,为什么还要开卡车呢。
 

lyohoumukca

New member
要是我要去附近的商店还是下个城镇,我要卡车还是自行车就得看具体情况了,这个说法太含糊了。

别误会,我没有恶意。

如果我只是做一些简单的事情,我可能会选择用C#,因为它比较简单易懂。

但如果我需要将程序移植到Linux上,那我就得用C 了,因为它可以很容易地在Linux上运行,而用C#的话就需要依赖于Mono和它所支持的内容了。

所以说,具体情况具体分析,要看我需要做什么,需要用到什么工具等等。
 

billmestenetf

New member
如果你想谈论如何为微小利基网站创建机器人,请私信我。

我很忙,没有时间闲聊,我只关心赚钱,也计划赚更多的钱。
 

footplichabe

New member
嗯,我发现了一些新的酷炫的过程和函数,可以让我基于屏幕坐标执行点击和键击操作。

所以,我改变了自己对创建机器人的看法。

在Delphi / C Builder中创建机器人是可行的,而且相当容易。

但是,您必须自己回答一个问题——您需要机器人做什么。
 

pagtheaberne

New member
我认为如果你想制作一个机器人的话,用C#比用C 更合适。

它的界面会更加简单易用,而且非常友好。
 

erexunsnow

New member
我觉得用C#而不是C 来做这种事情真的是一个很好的选择。

你可以得到一些很好的开发环境和工具来使用它。
 

tempgraphapat

New member
相比于C ,我更喜欢在C# / VB.net或其他高级语言中编写机器人程序。

C 主要用于系统级编程,因为它的性能和代码执行速度非常出色。

但对于机器人来说,像C#这样的高级语言就足够了,因为它们内置了许多有用的库,特别适合基于HTTP请求和响应模型的机器人。

虽然你也可以用C 实现相同的功能,但需要从零开始编写所有代码,难度会更大。
 

lyohoumukca

New member
我主要使用C#,不过C 也有很多有用的库,不容小觑。

例如,你可以使用libcURL和其C 封装器curlpp、cpp-netlib、POCO等库,甚至可以自己创建库来满足需求。
 

piorezuran

New member
首先,非常抱歉打扰了这个帖子,但是鉴于这个帖子里充斥着大量错误信息,我觉得有必要澄清一下。

我们先从为什么在这个特定任务中C#比C 更好这个问题开始讲起:用C#编写一个功能完善的机器人比用C 编写更省时间(C 的调试真是让人头疼)。

这是选择.NET而不是实际代码的唯一好处。

现在我要说的部分可能会让大家有些生气:C 更快(快得多);C 没有沙箱限制;C 可以在任何操作系统上使用(当然,需要使用不同的操作系统特定API,不过如果你担心 fancy 的图形界面会导致全球化代码问题,可以轻松地通过诺基亚的跨平台框架 QT 解决);如果你需要进行任何内存读写操作,C 更优秀,因为它有一个很牛的东西叫做指针。


如果你需要进行一些低级操作或者正在反向分析一个函数并希望测试将参数推送到堆栈以进行调试,这个工具还支持内联汇编。

反向分析任何已编译的应用程序在.NET中(包括C )要容易得多,而且C#本质上就是.NET。

你简直可以下载一个程序,反编译别人的应用程序并查看原始源代码。

不过C 的一个不足之处是需要一点时间学习,而且在调试时可能会很累人(我有过花几个小时调试代码,结果发现只是缺了一个分号。

)。

但是,如果你真心想学习低级语言编程,C 绝对是个不错的选择。

它非常强大,可以用于各种应用,包括控制台应用程序、服务器软件、视频游戏(而且还有制作游戏修改,简直是太有趣了),甚至浏览器的原生插件(比如Unity Player、Flash、DivX等等)。

希望我解答了你的疑惑。

(顺便提醒所有阅读这篇文章的人:如果你觉得我提供了错误的信息,请务必告诉我。


希望我给你解答了一些问题。

(对于所有阅读这篇文章的人:如果你认为我以任何方式提供了错误信息,请告诉我。

在给新程序员提供建议时,我尽力保持公正,但我个人更喜欢C ,因为上述原因。

 

lyohoumukca

New member
在某种程度上,我也同意你的观点,C 确实更快,但这也取决于你所做的工作。

有些情况下性能相同,有些情况下性能更好,还有一些情况下性能差距很小,在大多数情况下甚至都不会成为问题。

C 具备跨平台能力确实是一个优势,但要在其他平台上运行并不像听起来那么简单,这也取决于你使用的模块和其他因素。

但总体而言,与其他编程语言相比,使用C 编写跨平台应用程序相对容易一些。

至于逆向工程,我认为从汇编语言转换到C#或其他语言并不是更难或更容易,它们始终可以被反编译、阅读和破解。

无论哪种情况,使用异或操作、混淆和其他几种方式都可以帮助保护你的知识产权。

然而,拥有时间的人,我是说,有大量时间的人,总是可以破解、反编译或以其他方式处理你的应用程序。


"如果你的应用程序走红了,它可能会成为上述提到的人的攻击目标,所以要谨慎小心,永远不要掉以轻心。

"
 
顶部