我想在linux上安装FAAC.我收到了错误.
我用它来安装.
cd /usr/src
wget http://sourceforge.net/projects/faac/files/faac-src/faac-1.28/faac-1.28.tar.bz2/download
tar -xvjf faac-1.28.tar.bz2
cd faac-1.28
./configure
make
make install
Run Code Online (Sandbox Code Playgroud)
一旦我尝试制作它,我就会收到错误
mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)’
/usr/include/string.h:369: error: ambiguates old declaration ‘const char* strcasestr(const char*, const char*)’
make[3]: *** [3gp.o] Error 1
make[3]: Leaving directory `/usr/src/faac-1.28/common/mp4v2'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/faac-1.28/common'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/faac-1.28'
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)
我在线阅读,它说它是在干扰某些东西,我不得不找到一个文件并对其进行编辑.
我如何修复此安装,以便正确安装.
我想在不使用任何第三方 API 的情况下发送加密和签名的邮件。如果我仅发送带有签名的备用视图,Windows Mail 可以对其进行验证。如果我仅使用带有加密数据的备用视图发送,Windows Mail 可以解密它。但如果我同时发送两个附件,Windows Mail 会收到 2 个附件。如果我签名encryptedBytes并将这些签名字节添加到替代视图中,它只会验证签名并且消息为空。任何想法?
MailMessage message = new MailMessage();
message.From = new MailAddress(lblMail.Text);
message.Subject = txtSubject.Text;
string body = "Content-Type: text/plain\r\nContent-Transfer-Encoding: 7Bit\r\n\r\n" + structForm();
byte[] messageData = Encoding.ASCII.GetBytes(body);
ContentInfo content = new ContentInfo(messageData);
EnvelopedCms envelopedCms = new EnvelopedCms(content);
message.To.Add(new MailAddress(provMail));
CmsRecipient recipient = new CmsRecipient(SubjectIdentifierType.SubjectKeyIdentifier, this.certificate);
envelopedCms.Encrypt(recipient);
byte[] encryptedBytes = envelopedCms.Encode();
SignedCms Cms = new SignedCms(new ContentInfo(encryptedBytes));
CmsSigner Signer = new CmsSigner(SubjectIdentifierType.IssuerAndSerialNumber, new X509Certificate2(@"c:\serv.pfx","123"));
Cms.ComputeSignature(Signer);
byte[] SignedBytes = Cms.Encode();
MemoryStream encryptedStream …Run Code Online (Sandbox Code Playgroud) 我想通过自定义HttpHandler处理对我的应用程序"http://example.com/whateverpath"的请求,但返回的东西取决于"whateverpath"的值.
因此,访问"http://example.com/path1"的用户将获得与访问"http://example.com/path2"的用户不同的响应,但这两个请求必须在同一个HttpHandler中处理.想法是在数据库中找到"无论什么路径",并根据结果返回响应内容.
我听说过URL路由,我已经有了一个自定义的Http处理程序,但是我可以将这两种技术结合起来得到我需要的东西吗?
对于这个问题,我将不胜感激.
干杯弗兰克阿贝尔
我有两个独立的程序(下面拼接在一起)。第一个生成密钥对并保存到文件(工作正常)。第二个打开私钥,使用密码短语进行解密,然后我需要它来签署一串文本。下面的代码在 PEM_read_PrivateKey() (最后一次)调用上失败(不明白为什么)。谁能指出我做错了什么,然后我应该调用哪些 openssl 来使用私钥签署一些文本?
int main (int argc, char *argv[])
{
char *priv_pem = "priv.pem";
char *pub_pem = "pub.pem";
char *pass = "Password";
FILE *fp;
int bits = 4096;
unsigned long exp = RSA_F4;
RSA *rsa;
EVP_PKEY *pkey;
// GENERATE KEY
rsa=RSA_generate_key(bits,exp,NULL,NULL);
if (RSA_check_key(rsa)!=1)
Exit(1,"Error whilst checking key","");
pkey = EVP_PKEY_new();
EVP_PKEY_assign_RSA(pkey, rsa);
// WRITE ENCRYPTED PRIVATE KEY
if (!(fp = fopen(priv_pem, "w")))
Exit(2,"Error opening PEM file",priv_pem);
if (!PEM_write_PrivateKey(fp,pkey,EVP_aes_256_cbc(),NULL,0,NULL,pass))
Exit(3,"Error writing PEM file",priv_pem);
fclose(fp);
// WRITE PUBLIC KEY
if …Run Code Online (Sandbox Code Playgroud) 我非常了解红宝石,并从一些玩具程序开始自学C语言.这个只是计算我作为参数输入的一串数字的平均值.
#include <stdio.h>
#include <string.h>
main(int argc, char *argv[])
{
char *token;
int sum = 0;
int count = 0;
token = strtok(argv[1],",");
while (token != NULL)
{
count++;
sum += (int)*token;
token = strtok(NULL, ",");
}
printf("Avg: %d", sum/count);
printf("\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是:
mike@sleepycat:~/projects/cee$ ./avg 1,1
Avg: 49
Run Code Online (Sandbox Code Playgroud)
这显然需要一些调整.
任何改进和解释将不胜感激.
在bodyHTML页面中插入元素作为最后一个元素的最有效方法是什么?
我在Delphi XE中编写了一个REST服务器(使用向导),我想稍微更改一下URL,而不是 http://192.168.1.84:8080/datasnap/rest/TServerMethods1/GetListings 我得到的东西看起来更像http://192.168.1.84:8080/GetListings
这样做容易吗?
这是我的场景:
我有三个项目:两个 DLL 和一个控制台应用程序,让我们将它们命名为 foo.dll、bar.dll 和 console.exe。Console.exe 使用 Assembly.LoadFile(@"c:\foo.dll") 加载 foo.dll。Foo.dll 的项目引用了 bar.dll 并使用了一个类。Console.exe 加载 foo.dll 很好,当 foo.dll 尝试使用 bar.dll 的类时会出现问题。我收到“无法加载程序集:“bar.dll”等等等等异常。
几点:
所以一切都在同一个本地目录中,正确的 dll 被引用(通过项目属性,我已经使用 Reflector 来确保程序集版本正确)。如果我将 bar.dll 安装到 GAC,一切都会按预期进行。
我认为这与 Assembly.LoadFile 调用有关,并跳转到第二个 DLL,但我不确定。
感谢您的时间和投入。
我正在尝试在pthreads环境中实现C中的(特殊类型)双向链表,但是只使用C-wrapped同步指令,如原子CAS等,而不是pthread原语.(列表的元素是固定大小的内存块,几乎肯定不适合pthread_mutex_t它们内部.)我实际上并不需要完全任意的双向链表方法,只有:
因此,描述此数据结构的更好方法可能是队列/ fifo,可以删除队列中的项目.
是否有标准方法来同步这个?我遇到了可能出现的死锁问题,其中一些问题可能是所涉及的算法所固有的,其他问题可能源于这样一个事实,即我正试图在有限的空间内工作,并对我能做的事情有其他限制.
编辑:特别是,如果要同时删除相邻的对象,我会坚持做什么.大概在删除对象时,您需要获取列表中上一个和下一个对象的锁定,并更新它们的下一个/ prev指针以指向彼此.但是如果任何一个邻居已经被锁定,这将导致死锁.我试图找出一种方法,任何/所有发生的删除可以走在列表的锁定部分,并确定当前正在删除过程中的最大子列表,然后锁定该子列表旁边的节点,以便整个子列表整体被移除,但我的头开始受伤.. :-P
结论(?):为了跟进,我确实有一些我想要工作的代码,但我也对理论问题感兴趣.每个人的答案都非常有用,并且结合了我在这里表达的限制之外的细节(你真的不想知道要删除的指针来自何处以及那里涉及的同步!)我现在决定放弃本地锁定代码并专注于:
再次感谢所有给出答案的人.如果我的实验不顺利,我可能会回到所概述的方法(特别是弗拉德),然后再试一次.
c ×3
c# ×2
c++ ×1
cryptography ×1
delphi ×1
delphi-xe ×1
dll ×1
email ×1
encryption ×1
ffmpeg ×1
gac ×1
httphandler ×1
linked-list ×1
linux ×1
mime ×1
openssl ×1
pthreads ×1
python ×1
qt ×1
reflection ×1
rest ×1
routing ×1
time ×1
ubuntu ×1
url ×1