我写了一个简单的测试应用程序来记录日志文件中的内容.我正在使用linux mint,在应用程序执行后,我尝试使用此命令查看日志:
tail -n 100 /var/log/messages
Run Code Online (Sandbox Code Playgroud)
但文件消息既不存在,也不存在.您可以在下面找到我的代码.也许我做错了什么,文件没有存储在那里或者我需要启用linux mint登录.
#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>
void init_log()
{
setlogmask(LOG_UPTO(LOG_NOTICE));
openlog("testd",LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);
}
int main(void) {
init_log();
printf("Session started!");
syslog(LOG_NOTICE, "Session started!!");
closelog();
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试专门为Android用户设计一个网页,所以我想知道是否有一个超级链接格式可以打开谷歌地图就像调用函数,例如
<a href="tel:0766551121"> Call me now </a>
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序需要在某个时间将一些数据发送到服务器.简单的方法是关闭连接,然后当我想发送东西时再次打开它.但是我想保持连接打开,所以当我想发送数据时,我首先使用这个函数检查连接:
bool is_connected(int sock)
{
unsigned char buf;
int err = recv(sock,&buf,1,MSG_PEEK);
return err == -1 ? false : true;
}
Run Code Online (Sandbox Code Playgroud)
不好的是,这不起作用.当没有数据要接收时它会挂起.我能做什么?如何检查连接是否仍然打开?
我正在寻找生成一个充满随机字节的文件(750 MB).我在一个单独的线程中使用的代码如下所示:
我分配了一个大小的缓冲区,因为在磁盘上写入会消耗更多时间:
function Generate(buf:Pointer):DWORD;stdcall;
var
i:DWORD;
begin
for i := 0 to keysize -1 do
PByte(DWORD(buf) + i)^ := Random(256);
Result:=0;
end;
Run Code Online (Sandbox Code Playgroud)
问题是该过程完成需要很长时间.有什么想法更快的方法?如果没有其他选择,我会尝试在汇编中实现它.
我有一个类,它在TStringList中包含多个文件名.我可以使用索引访问特定的文件名:
myclass.stringlistclass[index]
Run Code Online (Sandbox Code Playgroud)
但是如何使用以下语法获取文件名?
myclass[index]
Run Code Online (Sandbox Code Playgroud)
我可以实现一个属性来实现这个功能吗?
我试图设置SEH
不使用try except
(这是为了我个人的知识,以更好地了解SEH如何工作)
以下代码不起作用
type
TSeh = packed record
OldSeh:DWORD;
NewSeh:DWORD;
end;
procedure test;
begin
WriteLn('Hello from seh');
end;
var
eu:TSeh;
old_seh:DWORD;
begin
asm
mov eax,fs:[0]
mov old_seh,eax
end;
eu.OldSeh := old_seh;
eu.NewSeh := DWORD(@test);
asm
mov eax,offset eu
mov fs:[0],eax
ret //This will cause an exception because jumps on an invalid memory address
end;
end.
Run Code Online (Sandbox Code Playgroud)
但这样做
procedure test;
begin
WriteLn('Hello from seh');
end;
begin
asm
push offset test
push fs:[0]
mov fs:[0],esp
ret //This will cause …
Run Code Online (Sandbox Code Playgroud) 我的Web服务器上有一个简单的PHP脚本,我需要使用HTTP POST上传文件,我在Delphi中这样做.
这是我与Indy的代码,但另外它不起作用,我无法弄清楚我做得不好.如何查看我在服务器上发送的内容是否有这样的工具?
procedure TForm1.btn1Click(Sender: TObject);
var
fname : string;
MS,dump : TMemoryStream;
http : TIdHTTP;
const
CRLF = #13#10;
begin
if PromptForFileName(fname,'','','','',false) then
begin
MS := TMemoryStream.Create();
MS.LoadFromFile(fname);
dump := TMemoryStream.Create();
http := TIdHTTP.Create();
http.Request.ContentType:='multipart/form-data;boundary =-----------------------------7cf87224d2020a';
fname := CRLF + '-----------------------------7cf87224d2020a' + CRLF + 'Content-Disposition: form-data; name=\"uploadedfile\";filename=\"test.png"' + CRLF;
dump.Write(fname[1],Length(fname));
dump.Write(MS.Memory^,MS.Size);
fname := CRLF + '-----------------------------7cf87224d2020a--' + CRLF;
dump.Write(fname[1],Length(fname));
ShowMessage(IntToStr(dump.Size));
MS.Clear;
try
http.Request.Method := 'POST';
http.Post('http://posttestserver.com/post.php',dump,MS);
ShowMessage(PAnsiChar(MS.Memory));
ShowMessage(IntToStr(http.ResponseCode));
except
ShowMessage('Could not bind socket');
end;
end;
end;
Run Code Online (Sandbox Code Playgroud) 我想发一个文件到设备(手机)使用蓝牙没什么特别的.但我不知道从哪里开始我应该找到一个司机?也许你们其中一个人之前使用过蓝牙技术,可以给我一个起点.
我有点困惑为什么Delphi在编译时链接和调试信息时有调试信息.
他们之间有什么区别?
我正在做一个小谜题.我有一些时间戳,我知道它们是时间戳,但无法弄清楚它们是如何编码的.
3ebf5b89 means 08-October-2013 hour 8 AM but minute I can't provide neither second
3ebd5f09 means 09-October-2013 hour 8 AM Unknown minute/second.
3ea15d09 means 11-October-2013 hour 8 AM Unknown minute/second but before half past hour.
Run Code Online (Sandbox Code Playgroud)
关于编码的任何想法?
奇怪的是,日期似乎随着时间的推移变得越来越低.
如果我转换为十进制并从较小的日期减去大日期,我会得到一个以秒为单位转换的值,大约是两个日期之间的日期,每天有5小时的错误.
LE:
我设法得到更准确的时间戳:
3ea02d09 - Oct 11th, 2013 at 17:10 (hour:minute)
3ea7ff89 - Oct 12th, 2013 at 14:28
3ea7cf09 - Oct 12th, 2013 at 15:34
Run Code Online (Sandbox Code Playgroud)