Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: mercury, Schalentier


 Thema: Der Linux-Thread 100 != 0x24 ( Ein Kernelupgrade später... )
« erste « vorherige 1 ... 89 90 91 92 [93] 94 95 96 97 ... 215 nächste » letzte »
erste ungelesene Seite | letzter Beitrag 
SwissBushIndian

AUP SwissBushIndian 07.11.2011
Ich kann halt gerade als Entwickler nicht verstehen, wie man so engstirnig sein kann.
21.03.2019 11:15:03  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
hoschi

hoschi
Gerade als Entwickler.
21.03.2019 11:36:42  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SwissBushIndian

AUP SwissBushIndian 07.11.2011
Kann man so machen, ja. Ist halt kacke.
21.03.2019 11:42:04  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
hoschi

hoschi
Du musst meine Haltung nicht teilen
Es ist eben meine Prämisse, dass alles was (mir) wichtig ist autark funktionieren muss. Mein Paradebeispiel dafür ist Git, weil Git autark funktioniert und optional bequem das Netzwerk nützt.
21.03.2019 11:48:07  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
statixx

AUP statixx 14.11.2023
verschmitzt lachen
Ist dir das Internet wichtig?
21.03.2019 11:49:18  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SwissBushIndian

AUP SwissBushIndian 07.11.2011
 
Zitat von hoschi

Du musst meine Haltung nicht teilen



Innovation funktioniert halt nicht, wenn alles so bleibt wie es ist. Das stört mich. Du kannst das von mir aus scheisse finden und nicht benutzen, aber ich kann nicht im geringsten nachvollziehen wie man sich kategorisch immer gegen alles wehrt, was einem nicht aufs Brot passt.

Und über die Nachteile verteilter Systeme brauchst du mir nichts erzählen, ich mache den ganzen Tag nichts anderes.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SwissBushIndian am 21.03.2019 11:56]
21.03.2019 11:52:46  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
mYstral

Arctic
Frage
Also... hat jemand von euch schon bei seinem Europaparlaments-Abgeordneten angerufen um gegen Artikel 13 zu protestieren?
21.03.2019 12:32:46  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SwissBushIndian

AUP SwissBushIndian 07.11.2011
 
Da die Schweiz kein Mitglied der EU ist, ist sie grundsätzlich nicht dazu verpflichtet, Bestimmungen der EU zu übernehmen oder umzusetzen



Hehe. Mit. Glied.
21.03.2019 12:39:58  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[KdM]MrDeath

mrdeath2
 
Zitat von SwissBushIndian

 
Da die Schweiz kein Mitglied der EU ist, ist sie grundsätzlich nicht dazu verpflichtet, Bestimmungen der EU zu übernehmen oder umzusetzen



Hehe. Mit. Glied.


Stimmt aber auch so nicht ganz.
Also dass die Schweiz kein Glied ist schon, allerdings sind sie ein Teil von Schengen und auch noch irgendwas wirtschaftsmäßig mit dabei(?). Damit haben sie sich automatisch einigen Regeln verpflichtet, wobei diese tolle Urheberrechtsreform vielleicht ja nicht dazu gehört.
21.03.2019 18:21:51  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SwissBushIndian

AUP SwissBushIndian 07.11.2011
Das ist ein Teilzitat des Bundesrates, welches sich genau au diese Urheberrechtsentscheide bezieht.
21.03.2019 18:41:32  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[KdM]MrDeath

mrdeath2
dann mach zitate auch korrekt als solche kenntlich! es sind schon doktortitel wegen sowas aberkannt worden!
21.03.2019 19:05:01  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SwissBushIndian

AUP SwissBushIndian 07.11.2011
Keine nennenswerten Titel zu verlieren Breites Grinsen
21.03.2019 19:13:06  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Traxer

Mod GSG9
 
Zitat von hoschi

Meine Haltung zum autarken Betrieb ist wirklich grundsätzlich!


das ist halt ne einstellung, wie ich sie leider zu genüge von deutschen kenne und deshalb passiert hier im land halt auch nichts, was über den status quo hinaus geht.

 
Zitat von hoschi

Ich will im Singleplayer ohne Internet spielen können und ebenso im LAN.


das verhindert auch keiner. keine der partner für dieses projekt ist exklusiv. es hindert dich auch keiner daran, die spiele normal zu erwerben und dann so zu nutzen, wie du es möchtest.

 
Zitat von hoschi

Das ganze geht dann weiter zu den Abomodellen mit permanenten Draufzahlen und der Frage, was eigentlich mit dem Lieblingsspiel passiert, wenn das nur noch ein paar Leute interessiert, fliegt dass dann aus dem Programm?


du hast, genau so wie alle anderen, keine ahnung wie google das vermarkten möchte, da die sich dazu noch gar nicht geäussert haben. mich würde es da nichtmal wundern, wenn die noch überhaupt kein in stein gemeisseltes konzept dafür haben.

was passiert denn mit deinem lieblingsspiel, welches zu wenige spieler hat und bei dem du keine server software hast? wie spielst du das aktuell im multiplayer?
wie kaufst du sachen, die so wenig verkauft werden, das die hersteller bzw. verleger das aus dem markt genommen haben, weil es unwirtschaftlich ist?
wie spielst du multiplayer sachen, bei dem es keine community von spielern mehr gibt?

 
Zitat von hoschi

Bei Netflix ist mir das auch egal, ist für mich "Casual" und und ein TV-Empfänger.


das ist auch exakt das, was es sein möchte. das ist das gesamte geschäftsmodell dahinter. du wirst von netflix nicht dazu verdonnert, da täglich X stunden vor dem dingen zu sitzen. noch wird es dir unmöglich gemacht die sachen, die dort angeboten werden auf z.b. bluray zu erwerben und dann offline zu schauen.

 
Zitat von hoschi

Ich bin mir sicher es gibt dafür eine Zielgruppe von Casualspielern, für die das mit entsprechener Internetverbindung interessant ist.


ja und genau die versucht google damit zu erreichen. die unwichtigen und kleine zielgruppe von ca. 2 millarden leuten, die das casual mässig machen, dieses spielen.

es hat nie jemand gesagt, dass das ne alternative für hardcore leute sein soll. das soll eine alternative für konsolen sein und dort auch nur für die leute, die eben keine solche konsole haben wollen oder sich leisten können.

 
Zitat von hoschi

Umgekehrt wird das bei Spielern am Computer nicht gut ankommen, PUGB oder CSGO sind viel zu sehr auf eigene Anpassung, Performance und geringe Latenz ausgerichtet.


das ist das, was ich mit dem "hoschi hat das nicht verstanden" meinte. das richtet sich überhaupt nicht an diese zielgruppe und es ist auch nicht exklusiv.

der andere punkt, den du scheinbar nicht verstanden hast ist, dass dort alles bei google im rechenzentrum läuft. das bedeutet die clients, als auch die server.
da ist nichts mit cheaten und co. du kannst dort nichts modifizieren. einstellungen anpassen, was grafik und co angeht ist nicht, es läuft immer in maximalen details. das hat als lustigen nebeneffekt ein absolut faires spielfeld, weil keiner irgendwie die grafik soweit runterschrauben kann, dass auf einmal einige sachen nicht mehr gerendert werden.
die einzigen einstellungen, die du nach wie vor anpassen kannst, sind die für sprache, audio und input geräte. wesentlich mehr braucht man nicht, wenn man sich keine gedanken um die hardware bzw. performance machen muss.

 
Zitat von hoschi

Tenor in den Kommentaren scheint auch entsprechend zu sein, zwischen Casualspielern und Computerspielern.


der "tenor in dem kommentaren"?! hallo, willkommen im internet.

 
Zitat von hoschi

Das Geld für Hardware wandert ja statt in Konsolen inzwischen in Smartphones.


und? was hat das jetzt damit zu tun? das macht es übrigens laut verkaufsstatistiken der aktuellen konsolengeneration eher nicht.
21.03.2019 20:06:02  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SwissBushIndian

AUP SwissBushIndian 07.11.2011
Dieses ACK. Es gehört dir.
21.03.2019 20:17:20  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
fantasio

Arctic
23.03.2019 16:47:38  Zum letzten Beitrag
(Inhalt versteckt) [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Debug oder Release? Runtime statisch oder dynamisch gelinkt?


1-2 MB ist auch ungefähr die Größenordnung, die rausfällt, wenn man in C++ "std::cout << "Hello world!" << std::endl;" als Debug mit statisch gelinkter Runtime kompiliert...

e:

-rwxr-xr-x 1 2,1M Mär 23 16:52 hello_cc
-rwxr-xr-x 1 3,9M Mär 23 16:51 hello_rs
-rwxr-xr-x 1 419K Mär 23 16:55 hello_rs_strip
-rwxr-xr-x 1 1,7M Mär 23 16:55 hello_cc_strip

Und: https://www.reddit.com/r/rust/comments/a9s9jl/binary_size_again_can_you_explain_these_numbers/
[Dieser Beitrag wurde 3 mal editiert; zum letzten Mal von csde_rats am 23.03.2019 16:57]
23.03.2019 16:49:55  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
fantasio

Arctic
23.03.2019 16:57:03  Zum letzten Beitrag
(Inhalt versteckt) [ pm ] [ diesen post melden ]
hoschi

hoschi
 
Zitat von Traxer

 
Zitat von hoschi

Meine Haltung zum autarken Betrieb ist wirklich grundsätzlich!


das ist halt ne einstellung, wie ich sie leider zu genüge von deutschen kenne und deshalb passiert hier im land halt auch nichts, was über den status quo hinaus geht.



Bin ein deutsches Weißbrot und mache eine "Technikfolgenabschätzung", damit hast du recht. Ich bin von Technik begeistert und möchte ebenso vorsichtig sein. Weil das auch der Linuxthread ist, interessiert mich immer, ob es gut oder schlecht für freie Software ist.

 
Zitat von Traxer

 
Zitat von hoschi

Umgekehrt wird das bei Spielern am Computer nicht gut ankommen, PUGB oder CSGO sind viel zu sehr auf eigene Anpassung, Performance und geringe Latenz ausgerichtet.


das ist das, was ich mit dem "hoschi hat das nicht verstanden" meinte. das richtet sich überhaupt nicht an diese zielgruppe und es ist auch nicht exklusiv.



Die Wahrnehmung scheint durchaus ähnlich zu sein Mata halt...
Beim Resultat erwarte ich eben die negativen Seiteneffekte "noch mehr Cloud, noch mehr Google, noch weniger Kontrolle, noch mehr Abos".


Übrigens, eine der schönsten Projekte der jüngsten Zeit ist OpenRA, speziell "Command and Conquer - Red Alert" was ich zuletzt als Kind gespielt habe. neben CS das einzige Spiel, das mich wirklich längere Zeit gebunden hat. Alle Assets sind kostenlos* verfügbar und die Spieleengine ist quelloffen** neu geschrieben worden, läuft super unter Linux, Mac und Win. Ist mir eingefallen, weil du das Thema Lieblingsspiel erwähnt hast. Wenn ich nach eine Runde CS für uns Linuxer frage, bekomme ich leider keine Antwort. Ich verliere immer bei Red Alert, ich bin ein schlechter Strategiespieler. Also ein gutes Opfer. Hat da wer mal Lust drauf?






* und **:
Wäre schön, wenn CS 1.6 eines Tages ein ähnliches Schicksal erfahren würde, bevor es mangels Interesse oder äußerer Umstände um Valve nicht mehr spielbar ist. Ähnliches kennen wir von Quake (Quellcode GPL, keine Assets) und Star Ruler II (Quellcode MIT, Assets und CC), dazu gehört eine erhebliches Maß an Voraussicht und Großzügigkeit beim Hersteller.
[Dieser Beitrag wurde 7 mal editiert; zum letzten Mal von hoschi am 25.03.2019 13:32]
25.03.2019 11:58:17  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
...
Ich hab gerade Pratt Parsing verstanden (glaube ich) und das ist ja mal so abgefahrene Kraut-Space-Magic. So little code, so much wow.
25.03.2019 22:50:35  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GandalfDerPinke

GandalfDerPinke
 
Zitat von csde_rats

Ich hab gerade Pratt Parsing verstanden (glaube ich) und das ist ja mal so abgefahrene Kraut-Space-Magic. So little code, so much wow.


Link?

+++++

Ich habe mir jetzt privat mal wieder ein Notebook zugelegt. Ein uraltes ThinkPad Chromebook 13. 2 Kern Celeron, 4GB Speicher und 16Gb Platte. Breites Grinsen

Arch mit Sway läuft wirklich gut drauf. Der nächste Schritt ist das flashen der Firmware, damit nicht mehr über den Developer Mode in den legacy BIOS Mode gebootet werden muss.
26.03.2019 6:22:57  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
statixx

AUP statixx 14.11.2023
 
Zitat von hoschi

Weil das auch der Linuxthread ist, interessiert mich immer, ob es gut oder schlecht für freie Software ist.



 
Zitat von hoschi

Beim Resultat erwarte ich eben die negativen Seiteneffekte "noch mehr Cloud, noch mehr Google, noch weniger Kontrolle, noch mehr Abos".


Gepostet von meinem iPhone
26.03.2019 7:53:06  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
 
Zitat von GandalfDerPinke

 
Zitat von csde_rats

Ich hab gerade Pratt Parsing verstanden (glaube ich) und das ist ja mal so abgefahrene Kraut-Space-Magic. So little code, so much wow.


Link?



Ich hab hauptsächlich das hier angeschaut, aber auch die anderen einschlägigen Artikel gelesen. Wirklich verstanden wieso das funktioniert habe ich mit denen aber nicht, das kam mit dem selbst implementieren. Das sieht bei mir in der 0.1-ultrahack-Version dann so aus:

typedef struct {
    const char operator[4];
    // natural precedence (higher number = binds more tightly)
    int precedence;
    // 0 for usual left-to-right, 1 for right-to-left
    int associativity;
    ExpressionType type;
} Operator;

static const Operator infix_operators[] = {
    {.operator = "**", .precedence = 10, .associativity = 1, .type = EXPONENT},
    {.operator = "*",  .precedence = 9, .type = MUL},
    {.operator = "/",  .precedence = 9, .type = DIV},
    {.operator = "%",  .precedence = 9, .type = MOD},
    {.operator = "+",  .precedence = 8, .type = ADD},
    {.operator = "-",  .precedence = 8, .type = SUB},
    {.operator = "<",  .precedence = 7, .type = LT},
    {.operator = ">",  .precedence = 7, .type = GT},
    {.operator = "<=", .precedence = 7, .type = LTE},
    {.operator = ">=", .precedence = 7, .type = GTE},
    {.operator = "==", .precedence = 6, .type = EQ},
    {.operator = "!=", .precedence = 6, .type = NEQ},
    {.operator = "&",  .precedence = 5, .type = BIT_AND},
    {.operator = "^",  .precedence = 4, .type = BIT_XOR},
    {.operator = "|",  .precedence = 3, .type = BIT_OR},
    {.operator = "&&", .precedence = 2, .type = LOGIC_AND},
    {.operator = "||", .precedence = 1, .type = LOGIC_OR},
};

static const Operator prefix_operators[] = {
    {.operator = "-",  .precedence = 10, .associativity = 1, .type = NEGATE_SIGN},
    {.operator = "~",  .precedence = 10, .associativity = 1, .type = NEGATE_BITWISE},
    {.operator = "!",  .precedence = 10, .associativity = 1, .type = NEGATE_LOGICAL},
};

const Operator *_infix_operator(Token *t) {
    for(unsigned i = 0; i < sizeof(infix_operators) / sizeof(infix_operators[0]); i++) {
        if(operator(t, infix_operators[i].operator)) {
            return &infix_operators[i];
        }
    }
    return 0;
}

const Operator *_prefix_operator(Token *t) {
    for(unsigned i = 0; i < sizeof(prefix_operators) / sizeof(prefix_operators[0]); i++) {
        if(operator(t, prefix_operators[i].operator)) {
            return &prefix_operators[i];
        }
    }
    return 0;
}

int _infix_precedence_of(Token *t) {
    const Operator *op = _infix_operator(t);
    if(op) {
        return op->precedence;
    } else if(t->type == TOKEN_OPEN_PAREN) { // analyze_call_expr
        return 12;
    }
    return 0;
}

Expression *new_expr(ExpressionType type) {
    Expression *e = calloc(1, sizeof(Expression));
    e->type = type;
    return e;
}

Expression *analyze_expr_word(Token *t) {
    Expression *e = new_expr(E_WORD);
    e->token = t;
    return e;
}

Expression *analyze_expr_number(Token *t) {
    Expression *e = new_expr(E_NUMBER);
    e->token = t;
    return e;
}

Expression *analyze_binary_expr(Tokens *toks, Expression *left, Token *op_token) {
    const Operator *operator = _infix_operator(op_token);
    Expression *e = new_expr(operator->type);
    e->left = left;
    e->right = analyze_expression(toks, operator->precedence - operator->associativity);
    return e;
}

Expression *analyze_parenthesized_expr(Tokens *toks, Token *t) {
    assert(t->type == TOKEN_OPEN_PAREN);
    Expression *e = analyze_expression(toks, 0);
    if(!expect(toks, TOKEN_CLOSE_PAREN, "Expected ')' after parenthesized expression but found !")) {
        return 0;
    }
    return e;
}

Expression *analyze_call_expr(Tokens *toks, Expression *function, Token *t) {
    assert(function->type == E_WORD);
    assert(t->type == TOKEN_OPEN_PAREN);
    Expression *e = new_expr(CALL);
    e->token = function->token;
    if(peek(toks)->type == TOKEN_CLOSE_PAREN) {
        e->nargs = 0;
        e->args = 0;
    } else {
        e->nargs = 0;
        e->args = calloc(100, sizeof(Expression));
        while(1) {
            e->args[e->nargs++] = *analyze_expression(toks, 0);
            t = pop(toks);
            if(t->type == TOKEN_COMMA) {
                continue;
            } else if(t->type == TOKEN_CLOSE_PAREN) {
                break;
            } else {
                diag_error(toks, t, "Expected ',' or ')' after expression in function call but found !");
                return 0;
            }
        }
    }
    return e;
}

Expression *analyze_unary_prefix_expr(Tokens *toks, const Operator *prefix_op) {
    Expression *e = new_expr(prefix_op->type);
    // these are right to left associative
    // i.e. !~foo = !(~(foo))
    e->left = analyze_expression(toks, prefix_op->precedence - prefix_op->associativity);
    return e;
}

Expression *analyze_expression(Tokens *toks, int precedence) {
    Token *t;
    Expression *left;
    const Operator *prefix_op;

retry:
    t = pop(toks);
    if(!t) {
        return 0;
    }

    switch(t->type) {
    case TOKEN_WORD:
        left = analyze_expr_word(t);
        break;
    case TOKEN_NUMBER:
        left = analyze_expr_number(t);
        break;
    case TOKEN_OPEN_PAREN:
        left = analyze_parenthesized_expr(toks, t);
        break;
    default:
        prefix_op = _prefix_operator(t);
        if(!prefix_op) {
            diag_error(toks, t, "Unexpected ! in expression");
            goto retry;
        }
        left = analyze_unary_prefix_expr(toks, prefix_op);
    }

    while(precedence < _infix_precedence_of(toks->tokens)) {
        t = pop(toks);
        if(!t) {
            return 0;
        }

        switch(t->type) {
        case TOKEN_OPERATOR:
            left = analyze_binary_expr(toks, left, t);
            break;
        case TOKEN_OPEN_PAREN:
            left = analyze_call_expr(toks, left, t);
            break;
        default:
            diag_error(toks, t, "Failed to parse expression near !");
            return 0;
        }
    }

    return left;
}


Der Lackmustest ist natürlich, ob -a**5 richtig verstanden wird. Wird es, TeX: -(a^5).
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 26.03.2019 15:46]
26.03.2019 15:45:07  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
hoschi

hoschi
Fedora hat versehentlich die Grafiktreiber als Debugbuild gebaut.
26.03.2019 17:46:05  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Ist das Mesa oder Meson-spezifisch? Im letzteren Fall klingt das ja jetzt nicht so viel besser als CMake an der Stelle (cmake -DCMAKE_BUILD_TYPE=Release mySource)...

 
but then it was pointed out the behavior of "buildtype=plain" and ultimately needing to add "-Db_ndebug=true" to the package to satisfy the no-debug scenario

26.03.2019 19:03:15  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
hoschi

hoschi
Mesonspezifisch. Frage: Sagt ihr zu sowas Flag oder Define?

Meson setzt NDEBUG, wenn man "-Db_ndebug" auf "true" setzt oder bei „if-release" wenn man den Buildtype „release“ verwendet. Wenn man die für Packagemaintainer bestimmten Buildtype „plain“ verwendet, wirkt „if-release“ also nicht. Sie ändern das:
https://github.com/mesonbuild/meson/commit/6838fcae231e6cb7a835c3d6c3a96a87ec3a5305

Weiß nicht, ob das so besser ist.
[Dieser Beitrag wurde 6 mal editiert; zum letzten Mal von hoschi am 26.03.2019 22:40]
26.03.2019 22:09:29  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Ich dachte Meson wär so toll, aber kaputtes Systems Hungarian in der Kommandozeile klingt nicht so toll peinlich/erstaunt
26.03.2019 22:50:15  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
hoschi

hoschi
Erklärst du mir, wie du das meinst? Mir fehlt der Einblick in CMAKE.

Ich empfinde es gewöhnungsbedürftig das
b_ndebug
drei Parameter annimmt, true, if-release und false. Das wird nachvollziehbar, wenn man den Zusammenhang zwischen if-release und den Buildtype release erkennt, if-release greift nur beim Buildtype release. Der Buildtype plain ist für Packagemaintainer von Distributionen gedacht ist, die alles per Hand anpassen. Red Hat hätte im Fall von plain die Option b_ndebug=true setzen sollen oder gleich direkt NDEBUG.
Meson scheint nun wohl if-release auf plain aufzuweichen, nur hätte ich eher einen neuen Parameter "if-release-or-plain" erwartet.



Ein einfacher Nutzungsfall sieht so aus:
 
Code:
meson builddir # entspricht etwa  ./configure und arbeitet die Datei 'meson.build' ab
cd builddir # in das Buildverzeichnis wechseln
ninja # bauen


Wichtig ist, das ninja automatisch auf meson zurückgreift und Änderungen erkennt. Wenn man neue Quelldateien erstellt und in der Datei meson.build hinzufügt, führt man lediglich ninja aus. Meson selbst muss man nur ausführen, wenn man ein neues Buildverzeichnis benötigt:

  • Ein anderen Buildtype soll verwendet werden, etwa release. Statt "meson builddir" verwendet man also
    meson --buildtype=release releasedir
    .
  • Defaultoptionen geändert worden sind.
  • Ein neues Release von Meson installiert hat.

In der Praxis ist der letzte Punkt der häufigste mit den Augen rollend

Der Buildtype plain wird eher so verwendet, wie man es aus diversen Paketen kennt:
 
Code:
$ meson --prefix /usr --buildtype=plain builddir -Dc_args=... -Dcpp_args=... -Dc_link_args=... -Dcpp_link_args=...



Ich sollte auf Formatierung verzichten. Hoffe es hilft trotzdem.
[Dieser Beitrag wurde 15 mal editiert; zum letzten Mal von hoschi am 27.03.2019 15:57]
27.03.2019 12:04:52  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Ach b_ scheint für "build" zu stehen. Ich dachte zuerst, dass würde für "boolean" stehen (=> deswegen Systems Hungarian) peinlich/erstaunt

Hmja, verstehe. Sieht CMake damit noch ähnlicher, insbesondere unter dem Ninja-Aspekt. Wobei Ninja halt auch nur ein in Details verbessertes Make ist. Insbesondere benutzt Ninja weiterhin mtimes. Was blöd ist.

Klingt jetzt alles nicht so nach "best possible next generation" ("Meson® is a project to create the best possible next-generation build system."). Eher nach "CMake aber die Syntax ist anders und die Kommandozeilenoptionen sind alle umbenannt".

--

Sicherheitslücken mit Stil fixen: Die PoCs für die Lücke benutzen alle curl? Dann geben wir bei halt 403 zurück, wenn "curl" im User-Agent steht... Cisco M(
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 28.03.2019 16:47]
28.03.2019 2:00:56  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
hoschi

hoschi
 
Zitat von csde_rats

Ach b_ scheint für "build" zu stehen. Ich dachte zuerst, dass würde für "boolean" stehen (=> deswegen Systems Hungarian) peinlich/erstaunt



Ach so. Ich vermute sogar eher "base".

 

Hmja, verstehe. Sieht CMake damit noch ähnlicher, insbesondere unter dem Ninja-Aspekt. Wobei Ninja halt auch nur ein in Details verbessertes Make ist. Insbesondere benutzt Ninja weiterhin mtimes. Was blöd ist.



Du denkst an einen schönen Hash? Wäre zumindest meine erste Idee.

 
Zitat von csde_rats

Sicherheitslücken mit Stil fixen: Die PoCs für die Lücke benutzen alle curl? Dann geben wir bei halt 403 zurück, wenn "curl" im User-Agent steht... Cisco M(



Es ist Cisco
Der Link geht leider nicht mehr.
28.03.2019 16:25:07  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
csde_rats

AUP csde_rats 04.09.2021
Qbs fand ich da echt erhellend und das war inzwischen bestimmt fünf Jahre her. Das Ding war so unglaublich schnell, sowohl was initiales "configure"-äquivalent als auch das Bauen an sich anging und hat nie nen Clean gebraucht. Und es hat sogar umbenannte / entferne Ziele automatisch gelöscht. Das war was den Kern des Tools anbelangt richtig, richtig gut. Ich glaub das hat Hashes benutzt um zu merken, ob etwas geändert wurde.

Externe Abhängigkeiten waren iirc ein bisschen nervig -- aber ich kenne kein Buildsystem, bei dem das anders wäre -- (am besten per pkgconfig iirc, aber das läuft halt mit Windows nicht) und auf ner frischen Installation musste man erst irgendwie sowas in der Richtung von "qbs auto-detect-toolchains" ausführen. Leider Deprecated.

--

 
If an array is so large (greater than PTRDIFF_MAX elements, but less than SIZE_MAX bytes), that the difference between two pointers may not be representable as ptrdiff_t, the result of subtracting two such pointers is undefined.



Der Typ ist aber sowas von hilfreich. Extra einen Typ für "pointerA - pointerB" zu spezifizieren, der zu UB führt, das kann es nur in C geben.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 28.03.2019 18:32]
28.03.2019 16:46:45  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: Der Linux-Thread 100 != 0x24 ( Ein Kernelupgrade später... )
« erste « vorherige 1 ... 89 90 91 92 [93] 94 95 96 97 ... 215 nächste » letzte »

mods.de - Forum » Linux » 

Hop to:  

Thread-Tags:
gnu  linux 
| tech | impressum