我被分配了一个项目,要求我添加一些HTML页面服务.这个嵌入式系统(运行Linux CentOS 6.3)有一些额外的功能,但也有很多责任.
我考虑过Apache但由于膨胀而抛弃了它,我调查了Nginx,但我现在也在回避它.看起来我正在获得更多"功能",因此,CPU使用率超出了我的需求.
有人可以告诉我为什么我不会使用异步套接字自己实现HTTP协议?
我的具体需求是:
接收和解码GET和POST.
按要求发送CSS,JS和JPG文件.
根据GET/POST的解码输出标题,cookie,头部和正文数据.
鉴于我不需要这些网络服务器提供的无数东西,我是否天真地假设自己这样做?你会建议或警告什么?
我有一个客户想要一个适用于iPhone,Android,Windows 8手机等的应用程序.
根据他的规格,我认为没有充分的理由需要"app"本身.对我来说似乎CSS,JS和HTML可以完成这项工作,只要它都是用手机的显示器编写的.
如果他的应用程序需要访问本地化的CPU电源或电话设备的功能,这是一回事,但它只是与服务器的交互,然后显示结果.
我不欣赏这里的东西吗?提前致谢.
尽管代码有效,但我对编译器决定混合使用相同类型的32位和64位参数感到困惑.具体来说,我有一个接收三个char指针的函数.查看汇编代码,三个中的两个作为64位指针(如预期的那样)传递,而第三个,一个局部常量,但仍然是字符串,作为32位指针传递.我没有看到我的函数如何知道第3个参数何时不是满载的64位指针.显然,只要较高的一方为0,这并不重要,但我不认为它会努力确保这一点.在这个例子中,任何东西都可能在RDX的高端.我错过了什么?顺便说一句,接收函数假定它是一个完整的64位指针,并在输入时包含此代码:
movq %rdx, -24(%rbp)
Run Code Online (Sandbox Code Playgroud)
这是有问题的代码:
.LC4
.string "My Silly String"
.text
.globl funky_funk
.type funky_funk, @function
funky_funk:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $16, %rsp
movq %rdi, -16(%rbp) ;char *dst 64-bit
movl %esi, -20(%rbp) ;int len, 32 bits OK
movl $.LC4, %edx ;<<<<---- why is it not RDX?
movl -20(%rbp), %ecx ;int len 32-bits OK
movq -16(%rbp), %rbx ;char *dst 64-bit
movq -16(%rbp), %rax ;char *dst 64-bit
movq %rbx, %rsi ;char *dst 64-bit
movq %rax, %rdi ;char *dst …Run Code Online (Sandbox Code Playgroud)