小编Ale*_*ruC的帖子

从表单应用程序启动停止服务c#

如何从ac#Form应用程序启动和停止Windows服务?

.net c# windows-services

36
推荐指数
2
解决办法
5万
查看次数

如何将我自己的软件添加到Buildroot Linux软件包?

我正在尝试将自己的程序添加到使用Buildroot创建的小型Linux中.到目前为止我做了什么:

  • 我在'buildroot/package /'中创建了一个名为'HelloWorld'的新目录.在'buildroot/package/HelloWorld'里面我有一个:Config.in,HelloWorld.mk和HelloWorld目录. Config.in认为:

        config BR2_PACKAGE_HELLOWORLD
        bool "helloworld"
        default y
        help
                Hello world component.
    
    Run Code Online (Sandbox Code Playgroud)

HelloWorld.mk认为:

HELLOWORLD_VERSION:= 1.0.0
HELLOWORLD_SITE:= /home/userpc/Downloads/helloworld/
HELLOWORLD_SITE_METHOD:=local
HELLOWORLD_INSTALL_TARGET:=YES

define HELLOWORLD_BUILD_CMDS
        $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
endef

define HELLOWORLD_INSTALL_TARGET_CMDS
        $(INSTALL) -D -m 0755 $(@D)/helloworld $(TARGET_DIR)/bin
endef

define HELLOWORLD_PERMISSIONS
       /bin/helloworld f 4755 0 0 - - - - - 
endef

$(eval $(generic-package))
Run Code Online (Sandbox Code Playgroud)

(灵感来源)HelloWorld目录包含:main.c和Makefile:

main.c:

#include <stdio.h>

int main()
{
        printf("\nMain entry.\n");
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

Makefile文件:

CC=gcc
CFLAGS=-I.

all: *.c
        $(CC) -Os -Wall  *.c -o helloworld …
Run Code Online (Sandbox Code Playgroud)

linux qt makefile uclinux buildroot

17
推荐指数
2
解决办法
2万
查看次数

动态C#对象的设计模式

我有一个队列来处理while循环中的对象.它们在某处异步添加..像这样:

myqueue.pushback(String value);
Run Code Online (Sandbox Code Playgroud)

它们的处理方式如下:

while(true)
{
    String path =  queue.pop();
    if(process(path))
    {
        Console.WriteLine("Good!");
    }
    else
    {
        queue.pushback(path);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,问题是我想修改它以支持类似TTL(生存时间)标志,因此文件路径将被添加超过n次.

我怎么能这样做,同时保留bool process(String path)功能签名?我不想修改它.

我考虑过持有一个地图,或者一个列表,该列表计算进程函数为路径返回false的次数,并在第n次返回false时从列表中删除路径.我想知道如何更加动态地完成这项工作,并且我希望TTL能够在每次添加新流程时自动减少.我希望我不是在说垃圾.也许使用这样的东西

class JobData
{
   public string path;
   public short ttl;

   public  static implicit operator String(JobData jobData) {jobData.ttl--; return jobData.path;}
}
Run Code Online (Sandbox Code Playgroud)

c# design-patterns

8
推荐指数
1
解决办法
871
查看次数

阻止Windows服务管理器停止服务c#

我有自己的注册处理程序的自定义Windows服务,如何从服务管理器收到停止命令时阻止它停止?我在服务和GUI之间建立了管道通信,我想只从GUI停止它,当我向Windows服务发送消息"停止"而不是当我试图从Windows服务管理器停止它时.我在C#工作

.net c# wmi windows-services

6
推荐指数
1
解决办法
5306
查看次数

Django - 加入两个模型

对于以下模型,我想检索历史表中具有条目的所有设备,其中transition_date在指定的时间间隔内:

class History(models.Model):
    device = models.ForeignKey(DeviceModel, to_field='id')
    transition_date = models.DateTimeField()

    class Meta:
        db_table = 'History'

class DeviceModel(models.Model):
    id = models.IntegerField()
    name = models.CharField()

    class Meta:
        db_table = 'Devices'
Run Code Online (Sandbox Code Playgroud)

我有这个代码过滤指定的间隔:

devices = DeviceModel.objects.filter(history__transition_date__range=(startDate, endDate))
Run Code Online (Sandbox Code Playgroud)

这给了我在Historytransition_date中指定范围内的行数.滤波器函数进行内之间JOIN DeviceModelHistorydevice id仅检索DeviceModel字段.我的问题是我如何检索两个数据History,并DeviceModel在同一时间,同时加入他们与过滤器/ select_related的设备ID.我宁愿不写自定义SQL查询.

django django-models

6
推荐指数
1
解决办法
9378
查看次数

无法链接OpenSSL代码

我正在尝试构建一个openssl简单程序.这是完整的代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "openssl/aes.h"

int main(int argc, char* argv[])
{
    AES_KEY aesKey_;
    unsigned char userKey_[16];
    unsigned char in_[16];
    unsigned char out_[16];
    strcpy(userKey_,"0123456789123456");
    strcpy(in_,"0123456789123456");

    fprintf(stdout,"Original message: %s", in_);
    AES_set_encrypt_key(userKey_, 128, &aesKey_);
    AES_encrypt(in_, out_, &aesKey_);

    AES_set_decrypt_key(userKey_, 128, &aesKey_);
    AES_decrypt(out_, in_,&aesKey_);
    fprintf(stdout,"Recovered Original message: %s", in_);      
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用此命令编译它:

gcc -I/home/aleksei/openSSL0.9.8/include -o app -L . -lssl -lcrypto tema1.c
Run Code Online (Sandbox Code Playgroud)

我明白了

 /tmp/ccT1XMid.o: In function `main':
 tema1.c:(.text+0x8d): undefined reference to `AES_set_encrypt_key'
 tema1.c:(.text+0xa7): undefined reference to `AES_encrypt'
 tema1.c:(.text+0xbf): undefined reference to …
Run Code Online (Sandbox Code Playgroud)

c linux encryption openssl cryptography

5
推荐指数
1
解决办法
1万
查看次数

安装带保险丝的循环设备

假设我有一个附加到循环设备 /dev/loop1 的文件,如何使用 fusion(用户空间中的文件系统)安装该文件?

linux filesystems ubuntu fuse

5
推荐指数
1
解决办法
7023
查看次数

根据位置c ++从PDF文档中提取文本

我试图根据它的坐标从PDF文档中提取文本,所以我在Adobe PDF参考中遇到了两个概念(第5.3章):

  1. 文本定位运算符
  2. 文本显示运算符

现在我对Td&Tm定位运算符感兴趣,而使用Td你有txty,相对于当前行的开始,这在PDF文档中有明确规定: tx ty Td,我已经使用这种方法通过tx提取文本和ty坐标.问题是我不知道如何根据其位置从PDF中提取文本,同时仅提供txty.

a b c d e f Tm
Run Code Online (Sandbox Code Playgroud)

这是'Tm用法'.af值代表什么?这将是我对Tm的输入:

BT
/F1 8.88 Tf
0 0 0 rg
0.9998 0 0 1 401.52 448.08 Tm
[<0014>-11<0015>-11<0013>-11<000F>-19<0014>-11<0019>] TJ
ET
Run Code Online (Sandbox Code Playgroud)

为什么每组四人都有一个领先的00?这是十六进制?我应该将它从十六进制转换为int和相应的字符吗?

这将是我对Td的输入:

BT 43.20 421.90 Td 0 Tw /C001 10.00 Tf 0.00 Tw <BlablablaTextInHexThatICanProcess>Tj ET
Run Code Online (Sandbox Code Playgroud)

这更加清晰,坐标更清晰.如何根据简单的X和Y坐标从Tm定位的PDF文本对象中提取文本?我正在使用c ++和PoDoFo库

c++ pdf podofo

5
推荐指数
1
解决办法
3625
查看次数

使用MPI_Bcast发送动态大小的动态数组

OpenMPI:我想读取根节点上的文件,并将该文件的内容发送到所有其他节点.我发现MPI_Bcast可以做到:

int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype,
    int root, MPI_Comm comm)
Run Code Online (Sandbox Code Playgroud)

我发现的所有示例都具有count已知值,但在我的情况下,计数值主要在根上已知.其他示例表示MPI_Bcast的相同调用检索其他节点上的数据.

我添加了这个:

typedef short Descriptor[128];
MPI_Datatype descriptorType;
MPI_Type_contiguous(sizeof(Descriptor), MPI_SHORT, &descriptorType);
MPI_Type_commit(&descriptorType);



 if(world_rank == 0)   {
  struct stat finfo;

  if(stat(argv[1], &finfo) == 0) {
        querySize = finfo.st_size/sizeof(Descriptor);
  }

 {
  //read binary query
  queryDescriptors = new Descriptor[querySize];
  fstream qFile(argv[1], ios::in | ios::binary);
  qFile.read((char*)queryDescriptors, querySize*sizeof(Descriptor));
  qFile.close();

  }
}

  MPI_Bcast((void*)&querySize, 1, MPI_INT, 0, MPI_COMM_WORLD);
  if (world_rank != 0)
  {
        queryDescriptors = new Descriptor[querySize];
  }
  MPI_Bcast((void*)queryDescriptors, querySize, descriptorType, 0, …
Run Code Online (Sandbox Code Playgroud)

c++ mpi

5
推荐指数
1
解决办法
2367
查看次数

CoInitializeSecurity错误

我有一个加载1.dll和1.dll加载1_1.dll的.exe。在.exe中,我创建了多个线程,从其中一个调用了一个函数,该线程调用了一个1.dll函数,而在其他事情之间..则从1_1.dll调用了一个函数,但这样做失败:

//  Initialize COM.
    HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
    if( FAILED(hr) )
    {
        //m_iStatus = ERROR_COINITIALIZE_EX;
        return;
    }
    //  Set general COM security levels.
    hr = CoInitializeSecurity(
        NULL,
        -1,
        NULL,
        NULL,
        RPC_C_AUTHN_LEVEL_PKT_PRIVACY,
        RPC_C_IMP_LEVEL_IMPERSONATE,
        NULL,
        0,
        NULL);
    if( FAILED(hr) )
    {
        CoUninitialize();
        //m_iStatus = ERROR_COINITIALIZE_SEC;
        return;
    }
Run Code Online (Sandbox Code Playgroud)

它使用以下消息在对CoInitializeSecurity的调用中失败:

必须先对安全性进行初始化,然后再对任何接口进行编组或取消编组。初始化后便无法更改。

谁能解释我这里发生的事情,我做错了什么以及应该如何解决?

windows com visual-c++

4
推荐指数
1
解决办法
4590
查看次数