1

голосов
0

ответ
172

Просмотры

отладки VS Код: C ++ Закрепить программу потребностей?

У меня есть «C ++ Attach» конфигурации для подключения к lldb питона. Одним из обязательных полей в launch.json является «программа». Почему я должен указать программу, если я хочу, чтобы отладить другой процесс в любом случае? Документы VS Code довольно короткие по этой теме, к сожалению.
Nibor
1

голосов
2

ответ
45

Просмотры

JS: Counting элементы в массиве -> Возвращение массива массивов

У меня есть массив, который выглядит следующим образом: фрукты = [ 'Apple', 'Яблоко', 'Персик', 'Яблоко', 'банан', 'груша', 'Яблоко', 'банан', 'Персик']; Теперь я пытаюсь сосчитать, содержащие элементы, чтобы получить результат, который выглядит следующим образом: [[ 'Apple', 4], [ 'Персик', 2], [ 'Banana', 2], [ 'груша', 1 ]] Я был в состоянии уменьшить его на карте. Как это: fruits.reduce ((акк, вал) => acc.set (вал, 1 + (acc.get (значение) || 0)), новая карта ()); Но я не мог понять, как создать этот массив, содержащий массивы. Кто-нибудь есть идея?
Nibor
1

голосов
1

ответ
1.3k

Просмотры

lldb: Невозможно решить контрольную точку в Hello World примера

Я создал пример Hello World в C ++ и пытался отладить его с lldb от терминала на Mac OSX. > Lldb a.out Текущий исполняемый набор в 'a.out' (x86_64). Я могу установить точки останова на имена (например, «основные»), но не на номера строк. Если я пытаюсь установить точку останова --file test.c --line 5 или б test.c: 5 Я получаю Breakpoint 1: нет места (в ожидании). ВНИМАНИЕ: Не удается решить проблему останова в любых реальных местах. Файл «test.c» находится в текущей папке. Что пошло не так?
Nibor
2

голосов
1

ответ
199

Просмотры

Создание и добавление обособленных элементов с d3.create

Скажем, я создаю простой графический вроде этого: Const = SVG d3.select ( «SVG»); Const г = svg.append ( 'г'); g.append ( 'г') .selectAll ( 'г') .data ([5, 10, 20, 40]) Введите желанную () .append ( 'Прямоугольник') .attr ( 'заливка', 'зеленый') .attr ( 'х', д => г) .attr ( 'у', д => г) .attr ( 'высота', д => г) .attr ( 'ширина', д => г); Но вместо того, чтобы просто добавление к этому, я хочу, чтобы создать отдельные, которые затем могут быть добавлены по желанию (например, он может быть возвращен из функции). С d3 V5 есть функция d3.create (), который создает отдельностоящий элемент. Const = d3.select SVG ( 'SVG'); Const г = svg.append ( 'г'); Const detachedG = d3.create ( 'г'); detachedG.selectAll ( 'г') .data ([5, 10, 20, 40]) Введите желанную () .append ( 'Прямоугольник') .attr ( 'заливка', 'зеленый') .attr ( 'х', д => г) .attr ( 'у', д => г) .attr ( 'высота', д => г) .attr ( 'ширина', д => г); g.append (() => detachedG.node ()); Но он не появляется в браузере, даже если DOM выглядит так же. Любые идеи, как это исправить? т появляются в браузере, даже если DOM выглядит так же. Любые идеи, как это исправить? т появляются в браузере, даже если DOM выглядит так же. Любые идеи, как это исправить?
Nibor
3

голосов
6

ответ
409

Просмотры

Java 8 - Get the 'parent' object of a list element

I have the following Code: public class A { private String name; private List bs; public A(String name) { this.name = name; this.bs = new ArrayList(); } public void addB(B b) { bs.add(b); } public List getBs() { return bs; } } public class B { private String name; public B(String name) { this.name = name; } public String toString() { return name; } } And the following Main: public static void main(String[] args) { A a1 = new A("A1"); A a2 = new A("A2"); B b1 = new B("B1"); B b2 = new B("B2"); B b3 = new B("B3"); a1.addB(b1); a2.addB(b2); a1.addB(b3); System.out.println(a1.getBs()); // [B1, B3] b3.getA(); // How can I do this? => Should return A1 } Now I need to get all the B's of an given A. Which works perfectly. But I also need to get the A of a given B. Every B is unique. So each B can only be a member of one A. What is the best way to do this?
Nibor
2

голосов
1

ответ
74

Просмотры

Фатальная ошибка Python при использовании SWIG под OSX

У меня проблемы с помощью интерфейса Python сгенерированный с SWIG (у меня OSX 10.11.12). После компиляции и компоновки все вместе, как например: -python erk_integrator.i SWIG НКУ -c -fPIC -O3 model.c auxiliary_functions.c timing_functions.c НКУ -c -fPIC -O3 erk_integrator.c erk_integrator_wrap.c -I. -I / USR / местные / включить / python2.7 НКУ -lpython -dynamiclib model.o erk_integrator.o erk_integrator_wrap.o auxiliary_functions.o timing_functions.o -o _erk_integrator.so Стараюсь тестовый сценарий, но Python бросает фатальную ошибку: / USR / местные / бен / питон test_erk.py Фатальная ошибка Python: PyThreadState_Get: нет текущий поток Прервать ловушку: 6 Но когда я бегу /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 test_erk. ру все работает как надо. Тем не менее, мне нужно использовать / USR / местные / бен / Python (от Homebrew) вместо системы Python. Я думаю, что что-то пойдет не так, на этапе компоновки. Большое спасибо за помощь!
Nibor
4

голосов
1

ответ
182

Просмотры

x86-64 assembly: why offset 25 bytes?

Я начал изучать сборку х86 сегодня, анализируя код сборки, соответствующий этому C ++ пример (я знаю, что существует что-то вроде atoi, но я хотел, чтобы этот пример был минимальным): #include диапазон станд :: вектор (Int N) {станд :: вектор v (N); для (беззнаковое INT I = 0; я <N; ++ я) v [I] = I; вернуться V; } INT основных () {возвращение диапазона (100) .Задняя (); } Если скомпилирован с г ++ -O0 -S -fno стек-протектор return_by_value.cpp, это приводит этот отрывок: ... _Z5rangei: .LFB509: .cfi_startproc .cfi_personality 0x3, __ gxx_personality_v0 .cfi_lsda 0x3, .LLSDA509 pushq% РСП. cfi_def_cfa_offset 16 .cfi_offset 6, -16% MOVQ RSP,% RBP .cfi_def_cfa_register 6 pushq% RBX SubQ $ 40,% RSP .cfi_offset 3, -24% MOVQ RDI, -40 (% RBP) MOVL% ЭРИ, -44 (% RBP ) leaq -25% (RBP), % Rax MOVQ% Rax,% вызовов RDI _ZNSaIiEC1Ev MOVL $ 0, -24 (% RBP) MOVL -44 (% RBP),% еах movslq% EAX,% рши leaq -25 (% RBP),% RCX leaq -24 (% КПБ),% RDX ... Я был удивлен видеть, нечетное (т.е. не кратно 8) смещение: leaq -25 (% ОДП),% RAX, тем более, что она является водн инструкции и далее мы также -24 (% РСП). По какой причине этого чтение компилятора через 8 байтовых?
Nibor
4

голосов
7

ответ
908

Просмотры

JS (ES6): массив фильтров на основе вложенных атрибутов массива

У меня есть массив, который выглядит следующим образом: Const лиц, = [{имя: «Джо», животные: [{виды: «собака», название: «Болт»}, {вид: «кошка», название: «Билли» }]}, {имя: "Боб", животные: [{виды: "собака", название: "Снупи"}]}]; Теперь я хочу, чтобы фильтровать на основе видов. Например: каждый человек, который имеет кошку, должен быть возвращен: Const результат = [{имя: «Джо», животные: [{видов: «собака», название: «Болт»}, {видов: «кошки», имя : "Билли"},]}]; Я попытался с помощью метода фильтра (), как это: Const результат = persons.filter (р => p.animals.filter (ы => s.species === «кошка»)) Но это Безразлично» т вернуть желаемый результат (он возвращает оба человека). Как я могу отфильтровать базы массива на атрибут вложенного массива?
Nibor
3

голосов
3

ответ
89

Просмотры

C++: inheritance or class member for C struct?

I have a plain old C struct: struct eggplant { double *ptr1; double *ptr2; ... // many more } and a function that manages the allocation the memory pointed to by the pointers, and returns a new eggplant instance: struct eggplant *create_eggplant(int n); The above function allocates a chunk of memory (including space for the newly created struct) and distributes it to the pointers. I want to extend struct eggplant in C++11. I could do that by keeping a pointer to the struct as a member: class EggPlant { ... private : struct eggplant *plant; } or I could try via inheritance: class EggPlant : private struct eggplant { ... } The first option allows me to use the create_eggplant function. However, the second option looks more straightforward from a conceptual point of view (the class EggPlant is an eggplant, it doesn't have one). I tried this = create_eggplant(...); in the constructor but that does not work for the obvious reason that you cannot overwrite a pointer to a class that you are constructing (lvalue required). Can I inherit the struct but still use my create_eggplant function in some useful way? Or, is it anyway better to keep a pointer to the struct?
Nibor
1

голосов
1

ответ
255

Просмотры

Почему неявное преобразование из неконстантных в Const разрешено для указателей в первую очередь?

Я понимаю, что неявное преобразование из неконстантных в сопзЬ не опасно при обработке значений, пример: INT изменяемые = 5; Const INT неизменны = изменчивый; Однако при работе с указателями, я могу сделать что-то выглядит следующим образом: INT some_number = 5; INT * изменяемые = & some_number; Const INT * неизменны = изменчивый; //
Nibor
6

голосов
3

ответ
3.9k

Просмотры

Java 8: Объединение двух списков, содержащих объекты по ключу

У меня есть два списка: список servers1 = новый ArrayList (); Сервер s1 = новый сервер ( "MyServer"); s1.setAttribute1 ( "attribute1"); servers1.add (S1); Список servers2 = новый ArrayList (); Сервер s2 = новый сервер ( "MyServer"); s2.setAttribute2 ( "attribute2"); servers2.add (с2); servers1 содержит серверы с именем и attribute1 (но не attribute2). servers2 содержит серверы с именем и attribute2 (но не attribute1). общественный класс сервер {частного имя строки; частная строка attribute1; частная строка attribute2; публичный сервер (имя String) {this.name = имя; this.attribute1 = ""; this.attribute2 = ""; } // Геттеры & Инкубационные} Кто-нибудь знает, как я могу объединить эти два списка один список, содержащий каждый сервер только один раз (по имени), но с обоими атрибутами? Есть сервера, которые существуют только в одном или другом списке. Окончательный список должен содержать все серверы. Список servers1 = новый ArrayList (); Сервер s1 = новый сервер ( "MyServer"); s1.setAttribute1 ( "attribute1"); Сервер s2 = новый сервер ( "MyServer2"); s2.setAttribute1 ( "Attribute1.2"); servers1.add (S1); servers1.add (с2); Список servers2 = новый ArrayList (); Сервер s3 = новый сервер ( "MyServer"); s3.setAttribute2 ( "attribute2"); Сервер s4 = новый сервер ( "MyServer3"); s4.setAttribute2 ( "Attribute2.2"); servers2.add (s3); servers2.add (s4); должно привести к: [Сервер [имя = MyServer, GetName, Function.identity (), (сервер1, сервер2) -> {server1.setAttribute2 (server2.getAttribute2 ()); вернуться сервер1; })); GetName, Function.identity (), (сервер1, сервер2) -> {server1.setAttribute2 (server2.getAttribute2 ()); вернуться сервер1; }));
Nibor
1

голосов
1

ответ
395

Просмотры

Cloudant поиск документов по атрибутам вложенных объектов

Мои документы в Cloudant имеют следующую структуру: { "_id": "1234", "имя": "тест", "объекты": [{ "типа": "Type1" "время": «1215}, { "тип" : «TYPE2» «время»: «1115»}]} Теперь мне нужно запросить мои документы списка типов примеры 1) Если бы я запрашиваю с Type1 тогда всеми документами, где есть объект с этим типом будет возвращено. . (пример документ вернется) 2) Если бы я запрос с TYPE1 и TYPE3 было бы вернуть все документы, которые содержат либо из них (пример документ вернется) 3) Если бы я запрос с TYPE3,TYPE4 и TYPE5 было бы вернуть все документы, которые содержат либо из них (пример документ не вернется) Как бы код в _design документе выглядеть и как бы мой запрос API выглядеть?
Nibor
1

голосов
3

ответ
633

Просмотры

Java 8: хранить и извлекать данные в виде таблицы данных [дубликат]

Этот вопрос уже есть ответ здесь: Как реализовать карты с несколькими ключами? [Дублировать] 27 ответов я хотел бы хранить данные в виде таблицы данных, которая выглядит следующим образом: + -------- + ------- + ----- + --- - + | | s1 | s2 | s3 | + -------- + ------- + ----- + ----- + | c1 | 5 | 7 | 7 | + -------- + ------- + ----- + ----- + | с2 | 1 | 6 | 9 | + -------- + ------- + ----- + ----- + | с3 | 0 | 9 | 6 | + -------- + ------- + ----- + ----- + Что такое хороший способ хранить это в Java, так что я могу получить данные по их ключи. Мне нужен метод, который выглядит следующим образом: общественное ИНТ GetData (String строка, столбец строки); // Пример: I = Int GetData ( "c1", "S1") // вернуть ли 5
Nibor
2

голосов
2

ответ
642

Просмотры

JavaFX: Группировка вид таблицы с функцией суммы

У меня есть список, содержащий наблюдаемые лица: ObservableList люди = FXCollections.observableArrayList (); И класс Person: класс Person общественного {частное окончательное название StringProperty = новый SimpleStringProperty (); частный окончательный подсчет IntegerProperty = новый SimpleIntegerProperty (); // ...} Теперь я могу отобразить их в таблице, как это: TableView таблица = новые Tableview (лица); Имя TableColumn = новый TableColumn ( "Name"); name.setCellValueFactory (клетка -> cell.getValue () nameProperty ().); TableColumn счетчик = новый TableColumn ( "Count"); count.setCellValueFactory (клетка -> cell.getValue () countProperty ().); table.getColumns () addAll (наименование, количество). Если есть несколько людей с таким же именем, он будет появляться несколько раз. Теперь я хотел бы, чтобы отобразить каждое имя в таблице только один раз и просуммировать количество вместе. В SQL, например, это будет группа по функциям. Как я могу это сделать в JavaFX?
Nibor
2

голосов
3

ответ
1.5k

Просмотры

MATLAB Invalid MEX-file error: missing symbol invalid_argument

У меня есть эта проблема, где MATLAB (R2017a) терпит неудачу выгрузки определенного MEX-файл: Invalid MEX-файл «/home/travis/local/lib/acadosMEX.mexa64»: Отсутствует символ «_ZdlPvm» требуется «/ дом / Трэвис / местными /lib/acadosMEX.mexa64' Missing символ '_ZNSt13runtime_errorC1EPKc' требуется '' Missing символ '/home/travis/local/lib/acadosMEX.mexa64 _ZNSt16invalid_argumentC1EPKc' требуется '/home/travis/local/lib/acadosMEX.mexa64'. Запуск LDD на этом MEX-файл дает мне> LDD $ HOME / местные / Библиотека / acadosMEX.mexa64 линукс-vdso.so.1 => (0x00007ffe3fab2000) libmex.so => ​​не найдено libmx.so => ​​не найдено libdl.so = 0,2> /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9adb90a000) libstdc ++. so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9adb5f8000) libblas.so +0,3 => /usr/lib/libblas.so. 3 (0x00007f9ad9def000) libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f9ad9ac7000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so. 6 (0x00007f9ad97c1000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9ad93f9000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 ( 0x00007f9ad91e1000) /lib64/ld-linux-x86-64.so.2 (0x000056477b9a3000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9ad8fc3000) libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f9ad8d84000) Теперь, если я Grep _ZNSt16invalid_argumentC1EPKc:> нм -D /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | Grep _ZNSt16invalid_argumentC1EPKc 000000000008b520 Т _ZNSt16invalid_argumentC1EPKc так, символ определенно есть; Таким образом, я могу установить LD_LIBRARY_PATH, чтобы указать на этот каталог, т.е. / USR / Lib / x86_64-Linux-гну / (это не должно быть необходимым, верно?). Я должен также сказать, что я стараюсь все это с г ++ - 5 (г ++ - 6 дает ту же ошибку), но с г ++ - 4.9 он работает, как требуется. Является ли все это причиной того, что MATLAB не поддерживает г ++> = 5 (ссылка)? Или есть еще какой-то способ заставить его работать?
Nibor
1

голосов
1

ответ
662

Просмотры

Программа C тратит 77% времени в _platform_memmove $ VARIANT $ Haswell [закрыт]

Я профилирование некоторый числовой код, написанный на C (профилировщик Instruments, компилятор лязг на Mac OSX 10.11.6). Столько, сколько 77,3% от времени работы проводится в _platform_memmove $ VARIANT $ Haswell. В выходных данных сборки, выше функция вызывается DYLD-STUB $$ тетсру. Тем не менее, у меня нет тетсра в моем коде C (у меня есть, хотя некоторые таНосы в). Углубляясь, кажется, что команда сборки представитель несет ответственность за принятие так много времени. С этого поста, кажется, что репутация будет ничего полезного не делает. Почему компилятор вставить? И откуда берется тетср происходят из? Я также попытался компиляции с опцией -g, но затем _platform_memmove $ VARIANT $ Haswell не поглощая почти все время больше.
Nibor
1

голосов
1

ответ
60

Просмотры

Дважды же цикл: один собирает, другой не

У меня есть этот кусок кода, чтобы сделать пару строк строчной (см это так, пост). недействительный some_free_standing_function (станд :: строка решатель, станд :: карта выбирает) {для (авто и с: решатель) с = ToLower (с); (авто для р: OPTS) для (авто & C: p.first) C = ToLower (с); } Первый диапазон на основе для компиляции, кажется, последняя не: Clang дает мне ошибку: не может присвоить переменную «с» с сопзЬ-квалифицированного типом «сопзИте полукокс &». Почему первый один проходит, но не второй, при условии, что они точно так же?
Nibor
2

голосов
1

ответ
149

Просмотры

Как вызвать метод несвязанного на объект подкласса в Python

У меня есть следующие классы в Python 2.7: класс Parent (): Защиту some_method (Я): do_something () класса Child (Родитель): Защиту some_method (Я): do_something_different () Предположим, у меня есть куча объектов, которые я хочу, чтобы запустить some_method на. Я выполнить следующие строки (первые два являются для данного примера): с = Child () м = Parent.some_method м (с) # do_something () вызывается Есть ли какой-конструкт таким образом, что в последней строке do_something_different ( ) вызывается вместо этого, без использования какой-либо информации о ребенке (как я потенциально есть много таких классов Наследование от родителя)?
Nibor