Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 30296|Απάντηση: 1

[Πηγή] Χρησιμοποιήστε το JSC για να δημιουργήσετε ένα dll σε JavaScript για κλήσεις C#

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2020-12-2 12:47:18 | | | |
απαιτήσεις: Όταν προσομοιώνουμε αιτήματα HTTP, οι παράμετροι αιτήματος και το περιεχόμενο αιτήματος ενδέχεται να περιλαμβάνουν κάποιο περιεχόμενο αλγορίθμου, ο αλγόριθμος μπορεί να βρεθεί από JavaScript, εάν μεταφράσουμε τον αλγόριθμο js στη γλώσσα προγραμματισμού που χρησιμοποιούμε (π.χ. Java, C#), είναι πιο δύσκολο, συνήθως το περιεχόμενο js είναι συμπιεσμένο και μπερδεμένο, οπότε αν μεταφράσουμε απευθείας το js σε μια βιβλιοθήκη κλάσεων για να καλέσουμε, είναι πολύ καλό.

Χρησιμοποιήστε το Jurassic για να εκτελέσετε λειτουργίες js στο .net
https://www.itsvse.com/thread-4303-1-1.html
Χρησιμοποιήστε το JSC για να δημιουργήσετε το πρόγραμμα exe σε JavaScript

test1.js κωδικός έχει ως εξής:

Ανοίξτε την εντολή προγραμματιστή VS 2019 και εισαγάγετε τα εξής:

Προσπαθήστε να εκτελέσετε το πρόγραμμα main.exe, εκτελούμε το πρόγραμμα μέσω της εντολής cmd, κάντε διπλό κλικ απευθείας και το πρόγραμμα θα αναβοσβήσει, ως εξής:



Χρησιμοποιήστε το JSC για να δημιουργήσετε μια βιβλιοθήκη dll JavaScript

test.js κώδικας έχει ως εξής:

Η εντολή είναι η εξής:

Δημιουργία νέου έργου κονσόλας .NET 4 που αναφέρεται στη βιβλιοθήκη κλάσεων common.dll

Στη συνέχεια, δημιουργήστε το αντικείμενο και καλέστε τη μέθοδό του. Ο κωδικός έχει ως εξής:


Οπως φαίνεται παρακάτω:



Μπορείτε να χρησιμοποιήσετε το εργαλείο ILSpy για να δείτε τον πηγαίο κώδικα dll που δημιουργήθηκε, όπως φαίνεται στο παρακάτω σχήμα:



Διαδρομή αρχείου προγράμματος jsc: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe

Παράμετρος:

Microsoft (R) JScript Compiler έκδοση 14.00.3752
για Microsoft (R) .NET Framework έκδοση 4.0.30319
Πνευματικά δικαιώματα (C) Microsoft Corporation. Ολα τα δικαιώματα διατηρούνται.

JSC [Επιλογές] <源文件> [[Επιλογές] <源文件>...]

                         Επιλογές μεταγλωττιστή JScript

                           - Αρχείο εξόδου -
  /out:<file> Καθορίζει το όνομα του δυαδικού αρχείου εξόδου
  /t[arget]:exe Δημιουργία εφαρμογής κονσόλας (προεπιλογή)
  /t[arget]: winexe για τη δημιουργία μιας εφαρμογής των Windows
  /t[arget]: Η βιβλιοθήκη δημιουργεί μια συγκρότηση βιβλιοθήκης
  /platform:<platform> Περιορίζει τις πλατφόρμες στις οποίες μπορεί να εκτελεστεί αυτός ο κώδικας. Πρέπει να είναι x86, Itanium, x64 ή οποιαδήποτε CPU (προεπιλεγμένη πλατφόρμα)

                           - Αρχείο εισόδου -
  /autoref[+|-] Συγκροτήματα αυτόματης αναφοράς με βάση εισαγόμενους χώρους ονομάτων και πλήρως προσδιορισμένα ονόματα (ενεργοποιημένα από προεπιλογή)
  /lib:<path> Καθορίζει τον πρόσθετο κατάλογο στον οποίο θέλετε να αναζητήσετε αναφορές
  /r[eference]:<file list> Παραπέμπει σε μεταδεδομένα από το καθορισμένο αρχείο συγκρότησης
                           <λίστα αρχείων>: <όνομα συνέλευσης>[; <όνομα συνέλευσης>...]

                           - Πηγή -
  /win32res:<file> Καθορίζει αρχεία πόρων Win32 (.res)
  /res[ource]:<info> Ενσωμάτωση του καθορισμένου πόρου
                           <info>: <filename>[,<name>[,δημόσιο|ιδιωτικό]]
  /linkres[ource]:<info> Συνδέει τον καθορισμένο πόρο με αυτήν τη συγκρότηση
                           <info>: <filename>[,<name>[,δημόσιο|ιδιωτικό]]

                           - Δημιουργία κώδικα -
  /debug[+|-] για να εκδώσετε ένα μήνυμα εντοπισμού σφαλμάτων
  /fast[+|-] απενεργοποιεί τις δυνατότητες γλώσσας για να βελτιώσει τη δημιουργία κώδικα
  /warnaserror[+|-] αντιμετωπίζει την προειδοποίηση ως σφάλμα
  /w[arn]:<level> Ρυθμίστε το επίπεδο προειδοποίησης (0-4)

                           - Διάφορα -
  @<filename> Για περισσότερες επιλογές, διαβάστε το αρχείο απάντησης
  /?                       Εμφάνιση βοήθειας
  /help δείχνει βοήθεια
  /d[efine]:<symbols> Ορίζει σύμβολα μεταγλώττισης υπό συνθήκη
  /nologo δεν εμφανίζει το σήμα πνευματικών δικαιωμάτων του μεταγλωττιστή
  /print[+|-] παρέχει τη συνάρτηση print()

                           - Προηγμένη -
  /codepage:<id> Ανοίξτε το αρχείο προέλευσης με το καθορισμένο αναγνωριστικό κωδικοσελίδας
  /lcid:<id> Χρησιμοποιήστε το καθορισμένο LCID για μηνύματα και προεπιλεγμένες κωδικοσελίδες
  Το /nostdlib[+|-] δεν εισάγει την τυπική βιβλιοθήκη (mscorlib.dll) και αλλάζει την προεπιλογή autoref σε off
  /utf8output[+|-] εκπέμπει έξοδο μεταγλωττιστή σε κωδικοποίηση χαρακτήρων UTF-8
  /versionsafe[+|-] καθορίζει μια προεπιλεγμένη τιμή για μέλη που δεν επισημαίνονται ως "παράκαμψη" ή "απόκρυψη"
(Τέλος)




Προηγούμενος:ASP.NET Πυρήνας (iii) Δημιουργήστε δυναμικά παρουσίες χρησιμοποιώντας το ActivatorUtilities
Επόμενος:Η Python χρησιμοποιεί το http.server για να ανοίξει μια υπηρεσία http
Δημοσιεύτηκε στις 2022-8-16 16:58:13 |
Μαθαίνω να μαθαίνω
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com