小编Bus*_*ush的帖子

我在Linux中打开文件时应该何时使用O_CLOEXEC?

我的过程分叉了几次,每次孩子都会执行 - 意味着我希望它能运行其他程序.

在主进程中,我使用open()syscall 打开文件描述符.

给它一个标志是否正确,O_CLOEXEC以便我运行的新程序exec()不具有fd资源?

c linux file-io exec

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

链接libQt5Core

我使用在线安装程序安装了Qt5.4(在ubuntu 14上工作).我正在尝试编译我的c ++源代码并链接到libQt5Core但是ld会抛出一个错误:

make
g++ -Wall test.o Party.o Communication.o FileParser.o PeerConnection.o ServerModule.o Utilities.o -o party -g -L/home/bush/Qt/5.4/gcc_64/lib -L/usr/lib/x86_64-linux-gnu/ -lQt5Core -lboost_system -lpthread
/usr/bin/ld: warning: libicui18n.so.53, needed by /home/bush/Qt/5.4/gcc_64/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicuuc.so.53, needed by /home/bush/Qt/5.4/gcc_64/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)
/home/bush/Qt/5.4/gcc_64/lib/libQt5Core.so: undefined reference to `ucal_setMillis_53'
/home/bush/Qt/5.4/gcc_64/lib/libQt5Core.so: undefined reference to `ucnv_fromUnicode_53'
/home/bush/Qt/5.4/gcc_64/lib/libQt5Core.so: undefined reference to `ucal_get_53'
/home/bush/Qt/5.4/gcc_64/lib/libQt5Core.so: undefined reference to `ucal_inDaylightTime_53'
/home/bush/Qt/5.4/gcc_64/lib/libQt5Core.so: undefined reference to `ucal_open_53'
/home/bush/Qt/5.4/gcc_64/lib/libQt5Core.so: undefined reference to `ucnv_countAvailable_53'
/home/bush/Qt/5.4/gcc_64/lib/libQt5Core.so: undefined reference …
Run Code Online (Sandbox Code Playgroud)

c++ ubuntu qt compilation ld

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

在eclipse cdt中调试fork()

我正在尝试使用eclipse cdt(Juno)调试一些fork()机制.我用C编写了程序.

  if( -1 == (pid = fork()) ) /* error */
    goto cleanup;
  else if ( 0 == pid ) /* child */
  {
    execlp("gcc", "gcc", cFilePath, "-o" , GCC_OUTPUT_FILE_NAME, NULL);
    goto cleanup; /* Arrives here only on error! */
  }
  else if (pid > 0) /* parent - checks: correct pid returns, returns normally, with exit status = 0*/
  {
      returnedpid = wait(exitStatus);
      if( pid != returnedpid || exitStatus == NULL || !WIFEXITED(*exitStatus) || !WEXITSTATUS(*exitStatus) )
          goto cleanup; …
Run Code Online (Sandbox Code Playgroud)

c eclipse gdb fork eclipse-cdt

12
推荐指数
1
解决办法
5851
查看次数

Python - 获取列表的所有组合

我知道我可以使用itertools.permutation来获得大小为r的所有排列.但是,对于itertools.permutation([1,2,3,4],3)它将返回(1,2,3)以及(1,3,2).

  1. 我想过滤那些重复(即获得组合)

  2. 是否有一种简单的方法来获得所有排列(所有长度)?

  3. 如何将itertools.permutation()结果转换为常规列表?

python combinations list permutation python-itertools

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

main()序言中堆栈指针对齐的目的是什么

main使用gcc -g -o program -m32 program.c64位机器(运行ubuntu 14.04)编译的函数(简单玩具程序)的序言中,我得到以下反汇编:

dump of assembler code for function main:
   0x08048e24 <+0>: push   %ebp
   0x08048e25 <+1>: mov    %esp,%ebp
   0x08048e27 <+3>: and    $0xfffffff0,%esp
   ...
Run Code Online (Sandbox Code Playgroud)

<+3>指令的目的是什么?也就是说,为什么要$esp指向一个16对齐的地址?

c x86 assembly gdb

10
推荐指数
1
解决办法
614
查看次数

Microsoft.Office.Interop.Excel不适用于64位

我在MS Visual Web Developer 2008 Express Ed上进行开发时遇到了问题.在Windows7 64位操作系统上开发ASP.NET C#.

我正在尝试打开Excel文档,但它给了我 Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))

我确实将构建配置到所有处理器(任何CPU,x64,x86),但它不起作用.我在互联网上搜索了答案,但无法找到如何处理它.

奇怪的是,当我在Microsoft Visual C#2010 Express上开发时,在同一系统上运行的代码相同!怎么会?是不是同样的dll工作?

我是否需要更改该COM dll以便它可以在x64系统上运行?

请帮帮我,我该怎么办?

我的代码是:

using Excel = Microsoft.Office.Interop.Excel;
xlApp = new Excel.Application();
__Log("Openning " + excelFileName);
xlWorkBook = xlApp.Workbooks.Open(excelFileName, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(2);
Run Code Online (Sandbox Code Playgroud)

asp.net interop comobject hresult

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

适用于Android的Waze API

我想开发一个Android应用程序,它从Waze Live Map中检索数据(提供一些输入 - 比如从哪里到哪里,并获得驱动该路线所需的时间,以及交通拥堵和所有其他工作人员......) Waze网站我只发现了构建相同应用程序但不与API一起使用的说明.

是否有Android的API所以我可以做我的事情?

谢谢,布什

android traffic-measurement

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

SQLiteException:不是错误

在我的应用程序中,我在许多情况下使用数据库,但有一种情况我得到一个例外,不是每次都可以重现它(还).

这仅在OS版本2.3.7和2.1-update-1上发生.

代码:

public void removeOldOccurrences() {
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        Long oldTime = System.currentTimeMillis() - VALID_OCCURRENCE_TIME;
        String query = "";
        try {
            query = "DELETE FROM " + LOCATIONS_TABLE + " WHERE not ("
                    + REMEMBERED_FIELD + "=1) " + "and (" + LAST_FIELD + "<"
                    + oldTime + ");";
            db.execSQL(query);
        } catch (Exception e) {
            Log.e(TAG, query);
            e.printStackTrace();
        } finally {
            if (db != null) {
                db.close();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

异常跟踪是:

android.database.sqlite.SQLiteException: not an error
at android.database.sqlite.SQLiteDatabase.dbopen(Native Method) …
Run Code Online (Sandbox Code Playgroud)

sqlite android exception getwritabledatabase

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

获取python应用程序内存使用情况

我的主要目标是了解我的 python 应用程序在执行过程中占用了多少内存。

我在 Windows-32 和 Windows-64 上使用 python 2.7.5。

我找到了一种方法来获取有关我的进程的一些信息:http ://code.activestate.com/recipes/578513-get-memory-usage-of-windows-processes-using-getpro/

为了方便起见,将代码放在这里:

"""Functions for getting memory usage of Windows processes."""

__all__ = ['get_current_process', 'get_memory_info', 'get_memory_usage']

import ctypes
from ctypes import wintypes

GetCurrentProcess = ctypes.windll.kernel32.GetCurrentProcess
GetCurrentProcess.argtypes = []
GetCurrentProcess.restype = wintypes.HANDLE

SIZE_T = ctypes.c_size_t

class PROCESS_MEMORY_COUNTERS_EX(ctypes.Structure):
    _fields_ = [
        ('cb', wintypes.DWORD),
        ('PageFaultCount', wintypes.DWORD),
        ('PeakWorkingSetSize', SIZE_T),
        ('WorkingSetSize', SIZE_T),
        ('QuotaPeakPagedPoolUsage', SIZE_T),
        ('QuotaPagedPoolUsage', SIZE_T),
        ('QuotaPeakNonPagedPoolUsage', SIZE_T),
        ('QuotaNonPagedPoolUsage', SIZE_T),
        ('PagefileUsage', SIZE_T),
        ('PeakPagefileUsage', SIZE_T),
        ('PrivateUsage', SIZE_T),
    ]

GetProcessMemoryInfo = ctypes.windll.psapi.GetProcessMemoryInfo
GetProcessMemoryInfo.argtypes = [
    wintypes.HANDLE, …
Run Code Online (Sandbox Code Playgroud)

python windows profiling memory-leaks

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

Android 版 usbmon

我想分析我的设备的 USB 通信:SGS4。我到处都看到需要配置 usbmon 并将其编译到内核中。Afaik,这个模块没有内置在android linux系统中。

我在编译内核方面没有太多经验,但如果有必要,我会这样做。

您能说出这样做的步骤吗?即如何为 android 编译 linux 内核,使其包含 usbmon 模块。

usb android sniffing linux-kernel

3
推荐指数
1
解决办法
2397
查看次数